GNU bug report logs - #58310
[PATCH] Add coq-mathcomp-analysis
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Package: guix-patches;
Reported by: Garek Dyszel <garekdyszel@HIDDEN>;
Keywords: patch; dated Wed, 5 Oct 2022 17:22:02 UTC;
Maintainer for guix-patches is
guix-patches@HIDDEN.
Message received at 58310 <at> debbugs.gnu.org:
Received: (at 58310) by debbugs.gnu.org; 13 Nov 2022 18:54:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 13 13:54:21 2022
Received: from localhost ([127.0.0.1]:48356 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1ouI7Z-0002si-FP
for submit <at> debbugs.gnu.org; Sun, 13 Nov 2022 13:54:21 -0500
Received: from knopi.disroot.org ([178.21.23.139]:36664)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <garekdyszel@HIDDEN>) id 1ouI7X-0002sZ-8W
for 58310 <at> debbugs.gnu.org; Sun, 13 Nov 2022 13:54:20 -0500
Received: from localhost (localhost [127.0.0.1])
by disroot.org (Postfix) with ESMTP id 5DA464109F;
Sun, 13 Nov 2022 19:54:17 +0100 (CET)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from knopi.disroot.org ([127.0.0.1])
by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id tsR6Dc4vqlPE; Sun, 13 Nov 2022 19:54:16 +0100 (CET)
From: Garek Dyszel <garekdyszel@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
t=1668365656; bh=7owb286lg1W+KRlDux9HwDBAsNVSSlcMbNEXDPRA1SA=;
h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
b=TmC1ecQ4pjpLKHg2hGkOCIFQDO6auhAs9nGI39CBgUWaVE6IHzPV03vXbwMnFmtu2
9Uc/01AV7xNH2cIuLos1ujvmL5tSABdr9rwONFy7L1uRNmLwRNx+1enRYUNiJJBqGe
5w7R3+QW5gfWd2OfpceaefjR3V/fTiSkG0/9VcoVXsDxDmtAPPQJwTa00lHUWN1XdN
AbgWPdJA9em0XBC0ZEYSMF+t9DpglxX97g9K5iZvhd2LWCIMud10TxxRhx96j/S1q2
KPMaXMEvZb7SdXGChHbv3PLviRrgApaa9Eyt4gXASSq3xiLeTZw56FCbAC69glYr9E
VnVQr6c6Rs66A==
To: Julien Lepiller <julien@HIDDEN>, zimoun <zimon.toutoune@HIDDEN>,
58310 <at> debbugs.gnu.org
Subject: Re: [bug#58310] Manifest for coq-mathcomp-analysis
In-Reply-To: <20221113115303.66ccb071@HIDDEN>
References: <87h70iqji2.fsf@HIDDEN>
<handler.58310.B.166499048624567.ack <at> debbugs.gnu.org>
<87v8njspi5.fsf@HIDDEN>
<A2D9782B-4542-4403-B078-51C3A2BD7640@HIDDEN>
<20221113115303.66ccb071@HIDDEN>
Date: Sun, 13 Nov 2022 13:54:03 -0500
Message-ID: <87tu32eldg.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 58310
Cc: pukkamustard <pukkamustard@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
I'm in UTC-0400, so your first email arrived in my inbox at around
04:00. Sorry I didn't see these!
At 10:17 2022-11-13 UTC+0100, Julien Lepiller wrote:
>> I tried building your file (it's technically not a manifest) and
>> indeed it's failing in the chack-findlib-path.
You're right that it's not a manifest. I had put a (packages->manifest)
invocation at the end of the file to see why coq-elpi wasn't building.
Later I just threw a package at the end when testing it later, and
forgot that the file then became a package file.
>> Why do you want to run it?
I knew that ocamlfind wasn't able to find the file coq-elpi.elpi when
building coq-mathcomp-hierarchy-builder. I was trying to test for the
presence of that file...
>> There's no way it could work at this point, right after the check
>> phase, since the package is not even installed yet.
...and I thought that the phase 'check' came after the phase 'install'
for some reason :/
>> Also, the OCAMLPATH that would allow findlib to find it is not set to
>> the outputs, only to the inputs.
Looks like I'll need to take a closer look at ocaml-build-system!
At 11:53 2022-11-13 UTC+0100, Julien Lepiller wrote:
> So, I've had a further look at the sources for the failing packages
> and figured that some variables were missing in the make-flags.
Tweaking the make-flags is exactly what's been occupying my time for the
last few months off and on, yep :)
> Attached is the fixed version of your file that builds
> coq-mathcomp-analysis.
Wow! Thanks so much! I can finally move to using it instead of building
it, although trying to get it to build was still a lot of fun :)
> Note that the build of mathcomp-analysis is
> very quiet and takes a long time, but it works eventually.
For anybody else who might be reading this thread, it took about 12
minutes to build on my system. I ran 'guix gc' beforehand to get an
accurate number:
$ until guix gc && time guix build -Kf coq-mathcomp-analysis.scm;\
$ do sleep 0.1; done
...
real 11m18.769s
user 0m7.332s
sys 0m0.490s
Out of curiosity, where did you put the patch file so that (patches
(search-patches "ocaml-elpi-fix-yojson.patch")) worked? My system throws
this error, so I had to switch the patch's path back: "guix build:
error: ocaml-elpi-fix-yojson.patch: patch not found".
Information forwarded
to guix-patches@HIDDEN
:
bug#58310
; Package guix-patches
.
Full text available.
Message received at 58310 <at> debbugs.gnu.org:
Received: (at 58310) by debbugs.gnu.org; 13 Nov 2022 10:53:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 13 05:53:13 2022
Received: from localhost ([127.0.0.1]:50143 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1ouAbv-0006DY-DA
for submit <at> debbugs.gnu.org; Sun, 13 Nov 2022 05:53:13 -0500
Received: from lepiller.eu ([89.234.186.109]:52356)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <julien@HIDDEN>) id 1ouAbr-0006DN-Fx
for 58310 <at> debbugs.gnu.org; Sun, 13 Nov 2022 05:53:09 -0500
Received: from lepiller.eu (localhost [127.0.0.1])
by lepiller.eu (OpenSMTPD) with ESMTP id 8e22513e;
Sun, 13 Nov 2022 10:53:05 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from
:to:cc:subject:message-id:in-reply-to:references:mime-version
:content-type; s=dkim; bh=zNKTkLYwymzgcLGWfjpkKqJWP/+TGKKLnP4bLQ
OR2uA=; b=IMBfajCtl4MttgLcgjZ18wR4y6Bgza9JY51X2hfxvB2hdgxRL84axw
kWdcoGYe2x6joveUsvVDOi2go7POC23PobQl5oiXD3Yavozj9oyoKCIBTBJ2qzv5
vJPW7vOH/Eml83CBuktTMU4SI0U4zgox40qhyRvpB0dJ8syP8NE/yb4W6ZsnJPOQ
iT/aP5Jg2ympvHv+oCuxD4+TwRyw5v/vfkdYYKDYajQ2Ze0/H42h7f4PCjOTXM0m
5fn3uSrB4Gx1gsDYZNmld15cK7TkFL3le/Rui91X2yA5ADkyAniiTJxMgzoas6iQ
2OWhzhlNIpn/rEqDzDhrS6kfyO9pmO5Q==
Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 0f3d1e8f
(TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO);
Sun, 13 Nov 2022 10:53:04 +0000 (UTC)
Date: Sun, 13 Nov 2022 11:53:03 +0100
From: Julien Lepiller <julien@HIDDEN>
To: Garek Dyszel <garekdyszel@HIDDEN>, zimoun
<zimon.toutoune@HIDDEN>, 58310 <at> debbugs.gnu.org
Subject: Re: [bug#58310] Manifest for coq-mathcomp-analysis
Message-ID: <20221113115303.66ccb071@HIDDEN>
In-Reply-To: <A2D9782B-4542-4403-B078-51C3A2BD7640@HIDDEN>
References: <87h70iqji2.fsf@HIDDEN>
<handler.58310.B.166499048624567.ack <at> debbugs.gnu.org>
<87v8njspi5.fsf@HIDDEN>
<A2D9782B-4542-4403-B078-51C3A2BD7640@HIDDEN>
X-Mailer: Claws Mail 4.1.1 (GTK 3.24.30; x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="MP_/uvRhSCMl/XdMwbzM4kqo_=n"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 58310
Cc: pukkamustard <pukkamustard@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
--MP_/uvRhSCMl/XdMwbzM4kqo_=n
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
So, I've had a further look at the sources for the failing packages and
figured that some variables were missing in the make-flags. Attached is
the fixed version of your file that builds coq-mathcomp-analysis. Note
that the build of mathcomp-analysis is very quiet and takes a long time,
but it works eventually.
Le Sun, 13 Nov 2022 10:17:07 +0100,
Julien Lepiller <julien@HIDDEN> a =C3=A9crit :
> Hi!
>=20
> I tried building your file (it's technically not a manifest) and
> indeed it's failing in the chack-findlib-path.
>=20
> Why do you want to run it? There's no way it could work at this
> point, right after the check phase, since the package is not even
> installed yet. Also, the OCAMLPATH that would allow findlib to find
> it is not set to the outputs, only to the inputs.
>=20
> Le 13 novembre 2022 00:48:50 GMT+01:00, Garek Dyszel
> <garekdyszel@HIDDEN> a =C3=A9crit=C2=A0:
> >Hi,
> >
> >CC: ocaml team
> >
> >I am including a manifest file instead of sending patches for now. It
> >seems like a good idea to stick with that until these packages are
> >ready to be put into the Guix source tree. I'm refactoring them too
> >often.
> >
> >After opening an issue on Github [1] [2], it seems that coq-elpi is
> >the package that is not building properly. It is clear that
> >ocamlfind (from ocaml-findlib) can't find coq-elpi after coq-elpi's
> >install phase. [1]:
> >https://github.com/math-comp/hierarchy-builder/issues/320 [2]:
> >https://github.com/LPCIC/coq-elpi/issues/384
> >
> >It looks like the META file is not being installed by coq-elpi
> >either. I'm not sure whether that's relevant, since ocamlfind
> >couldn't find coq-elpi even when META was present (in a much older
> >revision of this manifest; I can dig for it but just today don't
> >have time).
> >
> >The problem seems to be something in the build process itself; if the
> >extra phase 'check-findlib-path' is omitted then coq-elpi's build is
> >reported as a success.
> >
> >The later package coq-mathcomp-hierarchy-builder runs ocamlfind to
> >find coq-elpi, too.
> >
> >What would be a way to ensure that coq-elpi is found by ocamlfind?=20
> >
> >Thanks!
> >Garek
> >
> >(Manifest attached with an ocaml-elpi patch. You will need to change
> >the path for the ocaml-elpi (patches) field to match your directory
> >structure, but otherwise this manifest should work.)
> > =20
--MP_/uvRhSCMl/XdMwbzM4kqo_=n
Content-Type: text/x-scheme
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename=coq-mathcomp-analysis.scm
;; -*- mode: scheme; mode: guix-devel -*-
;;; Local Variables:
;;; sentence-end-double-space: t
;;; End:
;;; This module extends GNU=C2=A0Guix and is licensed under the same terms,=
those
;;; of the GNU GPL version 3 or (at your option) any later version.
;;;
;;; Copyright =C2=A9 2022 Garek Dyszel
;; To build directly from this file, use the following command.
;; guix build --with-patch=3Docaml-elpi=3Dpatches/ocaml-elpi-fix-yojson.pat=
ch -Kf coq-mathcomp-analysis.scm
(define-module (coq-mathcomp-analysis)
#:use-module (guix)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix build gnu-build-system)
#:use-module (guix build-system dune)
#:use-module (guix build-system ocaml)
#:use-module (guix build-system pyproject)
;; #:use-module ((guix build utils) #:prefix utils:)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module ((gnu packages base)
#:prefix base:)
#:use-module (guix build utils)
#:use-module (guix utils)
#:use-module (guix profiles)
#:use-module (gnu packages)
#:use-module (gnu packages coq)
#:use-module (gnu packages base)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages time)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages xdisorg)
#:use-module (guix build-system python)
#:use-module (gnu packages python-check)
#:use-module (gnu packages check)
#:use-module (gnu packages java)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages lua)
#:use-module (gnu packages version-control))
;;; Python
(define-public python-pprintpp
;; Git version tags are inaccurate for this package; use the
;; bare commit.
(let ((commit "7ede6da1f3062bbfb32ee04353d675a5bff185e0")
(revision "1"))
(package
(name "python-pprintpp")
(version (git-version "0.3.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/wolever/pprintpp")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0nk935m3ig8sc32laqbh698vwpk037yw27gd3nvwwzdv42jal2li"))))
(inputs (list python-pypa-build python-hypothesis python-wheel
python-parameterized))
(native-inputs (list python-pytest python-nose))
(build-system pyproject-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(replace 'build
(lambda _
(setenv "SOURCE_DATE_EPOCH" "315532800")
(invoke "python"
"-m"
"build"
"--wheel"
"--no-isolation"
".")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((whl (car (find-files "dist" "\\.whl$")=
)))
(invoke "pip"
"--no-cache-dir"
"--no-input"
"install"
"--no-deps"
"--prefix"
#$output
whl))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "test.py")))))))
(home-page "https://github.com/wolever/pprintpp")
(synopsis "Python pretty-printer")
(description
"This package is a printer for Python which pretty-prints structures.
It also attempts to print Unicode characters without escaping them.")
(license license:bsd-3))))
(define-public python-pluggy-1.0
(package
(inherit python-pluggy)
(name "python-pluggy")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pluggy" version))
(sha256
(base32
"0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))
(inputs (list python-pypa-build python-wheel))
(native-inputs (list python-pytest python-setuptools-scm))))
(define-public python-setuptools-scm-7
(package
(inherit python-setuptools-scm)
(version "7.0.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "setuptools_scm" version))
(sha256
(base32
"0i28zghzdzzkm9w8rrjwphggkfs58nh6xnqsjhmqjvqxfypi67h3"))))
(build-system pyproject-build-system)
(arguments
`( ;Disabled tests to avoid extra dependencies.
#:tests? #f
#:phases (modify-phases %standard-phases
;; Disabled sanity check to avoid extra dependencies.
(delete 'sanity-check))))
(propagated-inputs (list python-packaging-bootstrap python-tomli))))
(define-public python-pathspec-0.10.1
(package
(name "python-pathspec")
(version "0.10.1")
(source ;; (origin
;; (method url-fetch)
;; (uri (pypi-uri "pathspec" version))
;; (sha256
;; (base32
;; "0g9jhhhf3zmrnvzvjjd2yhizsb6i93hmlszb09wixlr1nrhn3kks")))
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/cpburnz/python-pathspec")
(commit (string-append "v" version))))
(sha256
(base32 "0sgzh7ad1x098d0rln01f0qabpa7mnp26863isncbiyqsxh1gaxp"))))
(build-system pyproject-build-system)
(home-page "https://github.com/cpburnz/python-pathspec")
(synopsis
"Utility library for gitignore style pattern matching of file paths.")
(description
"Utility library for gitignore style pattern matching of file paths.")
(license license:mpl2.0)))
;; This depends on packages in python-xyz.scm:
;; python-version, python-importlib-metadata, python-pathspec,
;; python-pluggy-1.0, and python-platformdirs.
(define-public python-hatchling
(package
(name "python-hatchling")
(version "1.10.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pypa/hatch")
(commit (string-append "hatchling-v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ahx62w711a2vnb91ahqxrw8yi0gq0kfch3fk6akzngd13376czj"))))
;; python-pypa-build needed for bootstrapping.
;; Otherwise we get a circular reference:
;; python-hatchling trying to build itself, without
;; first having hatchling installed.
(inputs (list python-editables
python-packaging-bootstrap
;; Below from python-xyz.scm, can be moved to python-buil=
d.scm
python-pathspec-0.10.1
;; Below from python-xyz.scm, can be moved to python-buil=
d.scm
python-pluggy-1.0
python-tomli))
(build-system pyproject-build-system)
(arguments
`( ;Tests depend on module python-hatch, which would result in circula=
r references
#:tests? #f
#:phases (modify-phases %standard-phases
(replace 'build
(lambda _
(chdir "backend")
;; ZIP does not support timestamps before 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")
(invoke "python"
"-m"
"build"
"--wheel"
"--no-isolation"
".")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip"
"--no-cache-dir"
"--no-input"
"install"
"--no-deps"
"--prefix"
(assoc-ref %outputs "out")
whl)))))))
(home-page "https://ofek.dev/projects/hatch/")
(synopsis "Bootstrap binaries to build @code{python-hatch}")
(description "Bootstrap binaries to build @code{python-hatch}")
;; MIT License
(license license:expat)))
;; (define-public python-hatchling
;; (package
;; (name "python-hatchling")
;; (version "1.10.0")
;; (source (origin
;; (method git-fetch)
;; (uri (git-reference
;; (url "https://github.com/pypa/hatch")
;; (commit (string-append "hatchling-v" version))))
;; (file-name (git-file-name name version))
;; (sha256
;; (base32
;; "0ahx62w711a2vnb91ahqxrw8yi0gq0kfch3fk6akzngd13376czj"))=
))
;; (inputs (list python-editables
;; python-packaging-bootstrap
;; ;; Below from python-xyz.scm, can be moved to python-b=
uild.scm
;; python-pathspec-0.10.1
;; ;; Below from python-xyz.scm, can be moved to python-b=
uild.scm
;; python-pluggy-1.0
;; python-tomli
;; python-hatchling-bootstrap))
;; (build-system pyproject-build-system)
;; (arguments
;; `( ;Tests depend on module python-hatch, which this
;; ;; is bootstrapping.
;; #:tests? #f
;; #:phases (modify-phases %standard-phases
;; (replace 'build
;; (lambda _
;; (chdir "backend")
;; ;; ZIP does not support timestamps before 1980.
;; (setenv "SOURCE_DATE_EPOCH" "315532800")
;; (invoke "python"
;; "-m"
;; "build"
;; "--wheel"
;; "--no-isolation"
;; ".")))
;; (replace 'install
;; (lambda* (#:key outputs #:allow-other-keys)
;; (let ((whl (car (find-files "dist" "\\.whl$"))))
;; (invoke "pip"
;; "--no-cache-dir"
;; "--no-input"
;; "install"
;; "--no-deps"
;; "--prefix"
;; (assoc-ref %outputs "out")
;; whl)))))))
;; (home-page "https://ofek.dev/projects/hatch/")
;; (synopsis "Bootstrap binaries to build @code{python-hatch}")
;; (description "Bootstrap binaries to build @code{python-hatch}")
;; ;; MIT License
;; (license license:expat)))
(define-public python-hatch
(package
(name "python-hatch")
(version "1.6.2") ;; at minimum 1.5.0
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pypa/hatch")
(commit (string-append "hatch-v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0if5ssp6vlfvna1jcvap40r0f7pm45h7kbia78h5ivm17vb8p08b"
;;"030yi9hw50mn899pq073lw2a55r57skl2g9agjp3b4l95f3nay30"
))))
(inputs (list python-pypa-build
python-editables
python-importlib-metadata
python-version
python-packaging-next
python-pathspec
python-pluggy-1.0 ;TODO: Not detected by pytest?
python-hatchling
python-tomli
python-platformdirs
python-rich
python-tomli-w))
(build-system pyproject-build-system)
(arguments
`( ;Tests appear to be written such that the input python-pluggy-1.0 is
;; not detected.
#:tests? #f
#:phases (modify-phases %standard-phases
(replace 'build
(lambda _
;; ZIP does not support timestamps before 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")
(invoke "hatchling" "build")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip"
"--no-cache-dir"
"--no-input"
"install"
"--no-deps"
"--prefix"
(assoc-ref %outputs "out")
whl))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(chdir "tests")
(invoke "pytest" "-vv"))))
;; Can't have hatch as a requirement of itself.
(delete 'sanity-check))))
(home-page "https://ofek.dev/projects/hatch/")
(synopsis "Python build system with project generation")
(description
"Python build system with project generation. It also defines a speci=
fic
syntax in @code{toml} files to check for dependencies.")
;; MIT License
(license license:expat)))
(define-public python-hatch-vcs
;; Tags are not accurate; just use the commit itself.
(let ((commit "367daedb23ba906f3e0714c64392fdd6ffa69ab2")
(revision "1"))
(package
(name "python-hatch-vcs")
(version (git-version "0.2.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ofek/hatch-vcs")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0nlnv32jqiz8ikc013h5simmiqqg0qa7pm0qcbd8yiqq1p43iw05"))))
(build-system pyproject-build-system)
(inputs (list python-pypa-build
python-pathspec-0.10.1
python-pluggy-1.0
python-editables
git
python-hatchling
;; python-hatch
python-typing-extensions))
(native-inputs (list python-pytest
;; python-setuptools-scm-6.4 minimum
python-setuptools-scm-7))
;; (arguments
;; (list #:phases #~(modify-phases %standard-phases
;; (replace 'build
;; (lambda _
;; (setenv "SOURCE_DATE_EPOCH" "315532800")
;; (invoke "python"
;; "-m"
;; "build"
;; "--wheel"
;; "--no-isolation"
;; ".")))
;; (replace 'install
;; (lambda* (#:key outputs #:allow-other-keys)
;; (let ((whl (car (find-files "dist" "\\.whl=
$"))))
;; (invoke "pip"
;; "--no-cache-dir"
;; "--no-input"
;; "install"
;; "--no-deps"
;; "--prefix"
;; #$output
;; whl))))
;; (replace 'check
;; (lambda* (#:key tests? #:allow-other-keys)
;; (when tests?
;; (invoke "pytest" "-vvv"))))))) ;)
(arguments
`( ;Tests depend on module python-hatch, which this
;; is bootstrapping.
#:tests? #f
#:phases (modify-phases %standard-phases
(replace 'build
(lambda _
;;(chdir "backend")
;; ZIP does not support timestamps before 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")
(invoke "python"
"-m"
"build"
"--wheel"
"--no-isolation"
".")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip"
"--no-cache-dir"
"--no-input"
"install"
"--no-deps"
"--prefix"
(assoc-ref %outputs "out")
whl)))))))
(home-page "https://ofek.dev/projects/hatch/")
(synopsis "Plugin for @code{python-hatch} to include versions")
(description
"This plugin defines a version-control syntax for use with
@code{toml} files intended for use with @code{python-hatch}.")
;; MIT License
(license license:expat))))
(define-public python-pytest-icdiff
(package
(name "python-pytest-icdiff")
(version "0.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest-icdiff" version))
(sha256
(base32
"1b8vzn2hvv6x25w1s446q1rfsbdik617lzpal3qb94x8a12yzwg8"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-pypa-build python-icdiff python-pprintpp
python-pluggy-1.0))
(native-inputs (list python-pytest))
(arguments
`(;; Tests fail with "collecting ... collected 0 items"
#:tests? #f))
;; (arguments
;; `(#:phases
;; (modify-phases %standard-phases
;; (add-before 'check 'chdir-to-test-dir
;; (chdir "tests")))))
(home-page "https://github.com/hjwp/pytest-icdiff")
(synopsis "Colored diffs using @code{python-icdiff} for pytest output")
(description
"This package uses @code{python-icdiff} to add color to the output of
pytest assertions.")
(license (license:non-copyleft "LICENSE"))))
(define-public python-hatch-fancy-pypi-readme
(package
(name "python-hatch-fancy-pypi-readme")
(version "22.8.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "hatch_fancy_pypi_readme" version))
(sha256
(base32
;; PyPI hash problem
;;"1ykfz1sbz58xbjw5k9xpmn5r6ji16w8vag47j8f969bqy3w52ikx"
"0sn2wsfbpsbf2mqhjvw62h1cfy5mz3d7iqyqvs5c20cnl0n2i4fs"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-tomli python-typing-extensions))
(native-inputs (list python-pypa-build
python-pathspec-0.10.1
python-pluggy-1.0
python-editables
python-hatchling
python-wheel
python-pytest
python-pytest-icdiff))
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'build 'disable-broken-tests
(lambda _
;; Skip the tests for "building". Guix already does t=
his,
;; so we don't need to test it for this package.
(chdir "tests")
(invoke "sed" "-i"
"11ipytest.skip('No need to test\
building; guix does this already', allow_module_level=3DTrue)"
"test_end_to_end.py")
(chdir "../")))
;; XXX: PEP 517 manual build/install procedures copied fr=
om
;; python-isort.
(replace 'build
(lambda _
;; ZIP does not support timestamps before 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")
(invoke "python"
"-m"
"build"
"--wheel"
"--no-isolation"
".")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip"
"--no-cache-dir"
"--no-input"
"install"
"--no-deps"
"--prefix"
(assoc-ref %outputs "out")
whl))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv")))))))
(home-page
"https://github.com/hynek/hatch-fancy-pypi-readme")
(synopsis "Syntax for styling PyPI READMEs")
(description
"Defines a syntax for the python-hatch build system, intended for styl=
ing
READMEs for PyPI.")
;; MIT License
(license license:expat)))
;; Has to be done manually. DO NOT copy and paste this one.
(define-public python-jsonschema-4.15
(package
(inherit python-jsonschema-next)
(version "4.16.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "jsonschema" version))
(sha256
(base32
;; PyPI hashing problem
"08sbw5fn19vn8x7c216gkczyzd575702yx2vmqdrgxpgfvq5jl0n"
;;"07pyh8g4csapkfjgjww7vkxwvh1qwxwqxz82wm2b1kmxj69rgx11"
))))
(native-inputs (list python-pypa-build
python-twisted
python-hatch
python-hatchling
python-pathspec-0.10.1
python-pluggy-1.0
python-editables
python-hatch-vcs
python-setuptools-scm-7
python-hatch-fancy-pypi-readme))
(propagated-inputs (list python-attrs
python-importlib-metadata
python-pyrsistent
python-typing-extensions
python-hatch-vcs))
(home-page "https://github.com/python-jsonschema/jsonschema")))
;;; OCaml
;; Requires python-jsonschema with version at minimum 4.6.0 to run
;; tests.=20
;; See https://github.com/ahrefs/atd/issues/306 for more info on that.
(define-public ocaml-atd
(package
(name "ocaml-atd")
(version "2.10.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ahrefs/atd")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"10fgahdigrl01py0k0q2d6a60yps38q96dxhjnzm9jz4g931716l"))))
(build-system dune-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
;; The dune-build-system does not run "make test" but
;; "dune runtest test --release".
;; This project, rather, needs us to run "make test".
;;
;; For this package (ocaml-atd), we DO NOT run all the
;; tests. The atd repository has resources for several
;; different interfaces (python, scala, etc), but we
;; don't need to run those tests if we are just
;; interested in the ocaml interface.
;; So we stick with just the ocaml tests here.
(when tests?
(invoke "make" "test-ocaml")))))))
(propagated-inputs (list ocaml-menhir
ocaml-easy-format
ocaml-odoc
ocaml-re
ocaml-camlp-streams
ocaml-biniou
ocaml-yojson
ocaml-cmdliner))
(native-inputs (list ocaml-alcotest
python-pypa-build
python-jsonschema-4.15
python-flake8
python-mypy
python-pytest))
(inputs (list python))
(home-page "https://github.com/ahrefs/atd")
(synopsis "Parser for the ATD data format description language")
(description
"ATD is an OCaml library providing a parser for the Adjustable Type
Definitions language.")
;; Modified BSD license
(license (license:non-copyleft "LICENSE.md"))))
(define-public ocaml-elpi
(package
(name "ocaml-elpi")
;; For more information on which version works with Coq 8.16,
;; see the relevant issue:
;; https://github.com/math-comp/hierarchy-builder/issues/297
;; Here we use
;; coq-elpi 1.15.4 + ocaml-elpi 1.16.5 +
;; coq-mathcomp-hierarchy-builder 1.3.0 (Coq 8.16).
;; (version "1.15.2")
;;(version "1.16.5")
(version "1.16.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LPCIC/elpi")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
;; for 1.16.5
;;"1l6grpglkvyyj0p01l0q5ih12lp4vizamgj7i63ig82gqpyzk9dl"
;; for the version that the patch is based on (1.16.7)
"1i0731f7jj48zvkla959pffj5l0qynmfyxljgszc6z3b4lpni1xc"))
;; Fix incompatibility with ocaml-yojson@HIDDEN
;; See <https://github.com/LPCIC/elpi/pull/167>.
(patches (search-patches "ocaml-elpi-fix-yojson.patch"))
;(patches '("/home/chips/home/code/guix_packages/built/patche=
s/ocaml-elpi-fix-yojson.patch"))
))
(build-system dune-build-system)
(arguments
`(#:test-target "tests"))
;; Build currently fails with error (repeated several times):
;; 'Warning 6 [labels-omitted: label argsdepth was omitted in the
;; application of this function.'
(propagated-inputs (list ocaml-stdlib-shims
ocaml-ppxlib
ocaml-menhir
ocaml-re
ocaml-ppx-deriving
ocaml-atd
ocaml-camlp-streams
ocaml-biniou
ocaml-yojson))
(native-inputs (list ocaml-ansiterminal ocaml-cmdliner time))
(home-page "https://github.com/LPCIC/elpi")
(synopsis "ELPI - Embeddable =CE=BBProlog Interpreter")
(description
"ELPI is an extension language for OCaml. It implements a variant of
=CE=BBProlog enriched with Constraint Handling Rules, a programming languag=
e for
manipulating syntax trees with binders.
This package provides both a command line interpreter, elpi, and an OCaml
library with the same name.")
(license license:lgpl2.1+)))
;;; Coq
(define-public coq-elpi
(package
(name "coq-elpi")
(version "1.16.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LPCIC/coq-elpi")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"18w899fcz4kzx7zyr7a0g4avclbm5f82g7kh76b9fy2s99jz6q5c"))))
;;(build-system gnu-build-system)
(build-system ocaml-build-system)
(propagated-inputs (list coq-core ocaml-elpi ocaml-zarith))
(inputs (list python lua-5.1 coq-core coq-stdlib))=20
(arguments
`(#:test-target "test"
;; From the repo: "COQBIN=3D%{bin}%/" "ELPIDIR=3D%{prefix}%/lib/elpi=
" "OCAMLWARN=3D"
#:make-flags ,#~(list (string-append "COQBIN=3D"
#$(this-package-input "coq-core=
")
"/bin/")
(string-append "ELPIDIR=3D"
#$(this-package-input "ocaml-el=
pi")
"/lib/ocaml/site-lib/elpi")
(string-append "COQLIBINSTALL=3D"
#$output
"/lib/coq/user-contrib")
(string-append "COQMF_COQLIB=3D"
#$output
"/lib/ocaml/site-lib/coq")
(string-append "COQPLUGININSTALL=3D"
#$output
"/lib/ocaml/site-lib")
"OCAMLWARN=3D")
#:phases (modify-phases %standard-phases
(delete 'configure)
#;(add-after 'check 'check-findlib-path
(lambda _
(invoke "ocamlfind" "query" "coq-elpi"))))))
(home-page "https://github.com/LPCIC/coq-elpi")
(synopsis "Elpi extension language for Coq")
(description
"Coq-elpi provides a Coq plugin that embeds ELPI, an extension language
for OCaml that is an implementation of =CE=BBProlog. It also provides a wa=
y to
embed Coq's terms into =CE=BBProlog using the Higher-Order Abstract Syntax =
approach
and a way to read terms back. In addition to that it exports to ELPI a set=
of
Coq's primitives. Finally it provides a way to define new vernacular comma=
nds
and new tactics.")
(license license:lgpl2.1)))
(define-public coq-mathcomp-hierarchy-builder
(package
(name "coq-mathcomp-hierarchy-builder")
;; For more information on which version works with Coq 8.16,
;; see the relevant issue:
;; https://github.com/math-comp/hierarchy-builder/issues/297
;; Here we use
;; coq-elpi 1.15.4 + ocaml-elpi 1.16.5 +
;; coq-mathcomp-hierarchy-builder 1.3.0 (Coq 8.16)
;;(version "1.3.0")
(version "1.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/math-comp/hierarchy-builder")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
;; 1.3.0
;;"17k7rlxdx43qda6i1yafpgc64na8br285cb0mbxy5wryafcdrkrc"
;; 1.4.0
"1g7narbx5n8bbnnnn8kmgk62clah9fsy9jb154xcr41p8psrvrxl"))))
;;(build-system ocaml-build-system) ;; fails for same reason as dune.
(build-system gnu-build-system)
(arguments
`(#:make-flags ,#~(list (string-append "ELPIDIR=3D"
#$(this-package-input "coq-elpi=
")
"/lib/coq/user-contrib/elpi/")
(string-append "DESTDIR=3D"
(assoc-ref %outputs "out"))
(string-append "COQLIBINSTALL=3D"
#$output
"/lib/coq/user-contrib"))
#:test-target "test-suite"
#:phases (modify-phases %standard-phases
(delete 'configure)
)))
(propagated-inputs (list coq-elpi))
(inputs (list coq-core
coq-stdlib))
(native-inputs (list ocaml which))
(synopsis "Hierarchy structures for the Coq proof assistant")
(description
"Hierarchy Builder (HB) provides high level commands to declare a
hierarchy of interfaces for the Coq system.
Given a structure one can develop its theory, and that theory becomes
applicable to all examples of the structure. One can also declare alternat=
ive
interfaces, for convenience or backward compatibility, and provide glue code
linking these interfaces to the structures part of the hierarchy.")
(home-page "https://math-comp.github.io/")
;; MIT license
(license license:expat)))
(define-public coq-mathcomp-analysis
(package
(name "coq-mathcomp-analysis")
(version "0.5.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/math-comp/analysis")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1l1yaxbmqr4li8x7g51q98a6v383dnf94lw1b74ccpwqz9qybz9m"))))
(build-system gnu-build-system)
(arguments
`( ;No rule to make target 'check'. Stop.
;; Makefile.common has no references to tests.
;; There are also no references to tests found after
;; running the following commands in the top
;; directory of the cloned repo:
;; find -type d | grep -i test
;; rg test # where rg is ripgrep
;; Checking the git log, we find: "Add test suite for
;; joins and several fixes".
;;
;; If tests are included, this quote suggests that they
;; would be part of the source files themselves,
;; and the tests would be run as part of the build
;; process.
#:tests? #f
#:make-flags ,#~(list (string-append "COQBIN=3D"
#$(this-package-input "coq-core=
")
"/bin/")
(string-append "COQBININSTALL=3D"
(assoc-ref %outputs "out") "/bi=
n/")
(string-append "COQMF_COQLIB=3D"
(assoc-ref %outputs "out")
"/lib/ocaml/site-lib/coq")
(string-append "COQLIBINSTALL=3D"
(assoc-ref %outputs "out")
"/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "build" make-flags))))))
(inputs (list coq
coq-stdlib
coq-mathcomp
coq-mathcomp-finmap
coq-mathcomp-hierarchy-builder
coq-elpi
coq-mathcomp-bigenough
coq-core))
(native-inputs (list ocaml which))
(synopsis "Real analysis for the Coq proof assistant")
(description
"This repository contains an experimental library for real analysis for
the Coq proof-assistant, using the Mathematical Components library.")
(home-page "https://math-comp.github.io/")
(license license:cecill-c)))
coq-mathcomp-analysis
--MP_/uvRhSCMl/XdMwbzM4kqo_=n--
Information forwarded
to guix-patches@HIDDEN
:
bug#58310
; Package guix-patches
.
Full text available.
Message received at 58310 <at> debbugs.gnu.org:
Received: (at 58310) by debbugs.gnu.org; 13 Nov 2022 09:17:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 13 04:17:16 2022
Received: from localhost ([127.0.0.1]:50065 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1ou975-0003o7-Or
for submit <at> debbugs.gnu.org; Sun, 13 Nov 2022 04:17:16 -0500
Received: from lepiller.eu ([89.234.186.109]:36142)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <julien@HIDDEN>) id 1ou973-0003nv-19
for 58310 <at> debbugs.gnu.org; Sun, 13 Nov 2022 04:17:14 -0500
Received: from lepiller.eu (localhost [127.0.0.1])
by lepiller.eu (OpenSMTPD) with ESMTP id 1f3cc262;
Sun, 13 Nov 2022 09:17:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from
:to:cc:subject:in-reply-to:references:message-id:mime-version
:content-type:content-transfer-encoding; s=dkim; bh=J8pvBhghCTBa
24YuOcA2hwXeCjP29Rpy25j19HpNMoY=; b=K2GvhwuDI/xW7v1H05cAWH2dWAkk
XVHYUIac4oIu2Csj5g1Pi5Ha9Qk0ijR4+FzhsVaEvDTVeQOx7H+F2HV96EP7nb0Q
nCQXt5jFGY7QSuLfKmtdKZAO80uzaET7UcX/rg4w4ubrRagPwzYSeIwgwtieGN6v
y6BtYDOsNeQdQtLAkb/rrtkwvvXZQAb+fU7TZYyGc3KDMXh1LwAgxJjan16nl+4K
cDxnSjHylH7JWryXNqsLZSe5TvXv7tnpRtXuDvB26I7ze2N0nxCHlWfCOVjEW8gc
ERjfB1Krx26LVGmW2908ubML7Th0D9Bk90BVon7rxBUcJ8G/1BAYCz2p/g==
Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 5db1b513
(TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO);
Sun, 13 Nov 2022 09:17:10 +0000 (UTC)
Date: Sun, 13 Nov 2022 10:17:07 +0100
From: Julien Lepiller <julien@HIDDEN>
To: Garek Dyszel <garekdyszel@HIDDEN>, zimoun <zimon.toutoune@HIDDEN>,
58310 <at> debbugs.gnu.org
Subject: Re: Manifest for coq-mathcomp-analysis
User-Agent: K-9 Mail for Android
In-Reply-To: <87v8njspi5.fsf@HIDDEN>
References: <87h70iqji2.fsf@HIDDEN>
<handler.58310.B.166499048624567.ack <at> debbugs.gnu.org>
<87v8njspi5.fsf@HIDDEN>
Message-ID: <A2D9782B-4542-4403-B078-51C3A2BD7640@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary=----VEXPOYMVGO9M0GJPBXQXP1DBARXM2G
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 58310
Cc: pukkamustard <pukkamustard@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
------VEXPOYMVGO9M0GJPBXQXP1DBARXM2G
Content-Type: text/plain;
charset=utf-8
Content-Transfer-Encoding: quoted-printable
Hi!
I tried building your file (it's technically not a manifest) and indeed it=
's failing in the chack-findlib-path=2E
Why do you want to run it? There's no way it could work at this point, rig=
ht after the check phase, since the package is not even installed yet=2E Al=
so, the OCAMLPATH that would allow findlib to find it is not set to the out=
puts, only to the inputs=2E
Le 13 novembre 2022 00:48:50 GMT+01:00, Garek Dyszel <garekdyszel@disroot=
=2Eorg> a =C3=A9crit=C2=A0:
>Hi,
>
>CC: ocaml team
>
>I am including a manifest file instead of sending patches for now=2E It
>seems like a good idea to stick with that until these packages are ready
>to be put into the Guix source tree=2E I'm refactoring them too often=2E
>
>After opening an issue on Github [1] [2], it seems that coq-elpi is the
>package that is not building properly=2E It is clear that ocamlfind (from
>ocaml-findlib) can't find coq-elpi after coq-elpi's install phase=2E
>[1]: https://github=2Ecom/math-comp/hierarchy-builder/issues/320
>[2]: https://github=2Ecom/LPCIC/coq-elpi/issues/384
>
>It looks like the META file is not being installed by coq-elpi either=2E
>I'm not sure whether that's relevant, since ocamlfind couldn't find
>coq-elpi even when META was present (in a much older revision of this
>manifest; I can dig for it but just today don't have time)=2E
>
>The problem seems to be something in the build process itself; if the
>extra phase 'check-findlib-path' is omitted then coq-elpi's build is
>reported as a success=2E
>
>The later package coq-mathcomp-hierarchy-builder runs ocamlfind to find
>coq-elpi, too=2E
>
>What would be a way to ensure that coq-elpi is found by ocamlfind?=20
>
>Thanks!
>Garek
>
>(Manifest attached with an ocaml-elpi patch=2E You will need to change th=
e path for
>the ocaml-elpi (patches) field to match your directory structure, but oth=
erwise
>this manifest should work=2E)
>
------VEXPOYMVGO9M0GJPBXQXP1DBARXM2G
Content-Type: text/html;
charset=utf-8
Content-Transfer-Encoding: quoted-printable
<html><head></head><body>Hi!<br><br>I tried building your file (it's techni=
cally not a manifest) and indeed it's failing in the chack-findlib-path=2E<=
br><br>Why do you want to run it? There's no way it could work at this poin=
t, right after the check phase, since the package is not even installed yet=
=2E Also, the OCAMLPATH that would allow findlib to find it is not set to t=
he outputs, only to the inputs=2E<br><br><div class=3D"gmail_quote">Le 13 n=
ovembre 2022 00:48:50 GMT+01:00, Garek Dyszel <garekdyszel@disroot=2Eorg=
> a =C3=A9crit=C2=A0:<blockquote class=3D"gmail_quote" style=3D"margin: =
0pt 0pt 0pt 0=2E8ex; border-left: 1px solid rgb(204, 204, 204); padding-lef=
t: 1ex;">
<pre dir=3D"auto" class=3D"k9mail">Hi,<br><br>CC: ocaml team<br><br>I am i=
ncluding a manifest file instead of sending patches for now=2E It<br>seems =
like a good idea to stick with that until these packages are ready<br>to be=
put into the Guix source tree=2E I'm refactoring them too often=2E<br><br>=
After opening an issue on Github [1] [2], it seems that coq-elpi is the<br>=
package that is not building properly=2E It is clear that ocamlfind (from<b=
r>ocaml-findlib) can't find coq-elpi after coq-elpi's install phase=2E<br>[=
1]: <a href=3D"https://github=2Ecom/math-comp/hierarchy-builder/issues/320"=
>https://github=2Ecom/math-comp/hierarchy-builder/issues/320</a><br>[2]: <a=
href=3D"https://github=2Ecom/LPCIC/coq-elpi/issues/384">https://github=2Ec=
om/LPCIC/coq-elpi/issues/384</a><br><br>It looks like the META file is not =
being installed by coq-elpi either=2E<br>I'm not sure whether that's releva=
nt, since ocamlfind couldn't find<br>coq-elpi even when META was present (i=
n a much older revision of this<br>manifest; I can dig for it but just toda=
y don't have time)=2E<br><br>The problem seems to be something in the build=
process itself; if the<br>extra phase 'check-findlib-path' is omitted then=
coq-elpi's build is<br>reported as a success=2E<br><br>The later package c=
oq-mathcomp-hierarchy-builder runs ocamlfind to find<br>coq-elpi, too=2E<br=
><br>What would be a way to ensure that coq-elpi is found by ocamlfind? <br=
><br>Thanks!<br>Garek<br><br>(Manifest attached with an ocaml-elpi patch=2E=
You will need to change the path for<br>the ocaml-elpi (patches) field to =
match your directory structure, but otherwise<br>this manifest should work=
=2E)<br><br></pre></blockquote></div></body></html>
------VEXPOYMVGO9M0GJPBXQXP1DBARXM2G--
Information forwarded
to guix-patches@HIDDEN
:
bug#58310
; Package guix-patches
.
Full text available.
Message received at 58310 <at> debbugs.gnu.org:
Received: (at 58310) by debbugs.gnu.org; 13 Nov 2022 08:28:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 13 03:28:07 2022
Received: from localhost ([127.0.0.1]:49997 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1ou8LW-0002XJ-Jt
for submit <at> debbugs.gnu.org; Sun, 13 Nov 2022 03:28:07 -0500
Received: from knopi.disroot.org ([178.21.23.139]:48714)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <garekdyszel@HIDDEN>) id 1ou0Fz-0001pn-G6
for 58310 <at> debbugs.gnu.org; Sat, 12 Nov 2022 18:49:53 -0500
Received: from localhost (localhost [127.0.0.1])
by disroot.org (Postfix) with ESMTP id 0F65E410CB;
Sun, 13 Nov 2022 00:49:50 +0100 (CET)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from knopi.disroot.org ([127.0.0.1])
by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id 6u7rYSL7UNQD; Sun, 13 Nov 2022 00:49:36 +0100 (CET)
From: Garek Dyszel <garekdyszel@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
t=1668296975; bh=/sIBGRbV4cx1aQOQl/KhML0jDieMVDPykoWToKx6fmY=;
h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
b=GqwOaq8kwnIBVNWUzf8S74a9XfooW7pxLg5GKaBwsRw6/xH1ZTvMnsEuOYxJO5u2m
e9taFx5k+S+X/ukfRDdyDwxPn9mVZtyTgFNxCo4mcQ53oNuqOTTg7sNr/rHxR2gRH2
IxF2xNExHEDT2N/rzXgC4c69AAeMZ+jR5uIyIbquIpw4cDCcCGmIt6CuoO/F0d0kac
M0n4X39kNNxGUHNMwEDpUI15lltYsODR3Ca6FbFiaYWZ1rfkj7/nHXQYhCFziy7PFg
KlqEaS+kqkKf2+OW+xTTjc8XdWBFXGR9ExuTTF1/Zh9Ep53+azb2LJTC37SQZ/z1vQ
CFU57om0+aSEw==
To: zimoun <zimon.toutoune@HIDDEN>, 58310 <at> debbugs.gnu.org
Subject: Manifest for coq-mathcomp-analysis
In-Reply-To: <handler.58310.B.166499048624567.ack <at> debbugs.gnu.org>
References: <87h70iqji2.fsf@HIDDEN>
<handler.58310.B.166499048624567.ack <at> debbugs.gnu.org>
Date: Sat, 12 Nov 2022 18:48:50 -0500
Message-ID: <87v8njspi5.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Debbugs-Envelope-To: 58310
X-Mailman-Approved-At: Sun, 13 Nov 2022 03:27:59 -0500
Cc: pukkamustard <pukkamustard@HIDDEN>,
Julien Lepiller <julien@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
--=-=-=
Content-Type: text/plain
Hi,
CC: ocaml team
I am including a manifest file instead of sending patches for now. It
seems like a good idea to stick with that until these packages are ready
to be put into the Guix source tree. I'm refactoring them too often.
After opening an issue on Github [1] [2], it seems that coq-elpi is the
package that is not building properly. It is clear that ocamlfind (from
ocaml-findlib) can't find coq-elpi after coq-elpi's install phase.
[1]: https://github.com/math-comp/hierarchy-builder/issues/320
[2]: https://github.com/LPCIC/coq-elpi/issues/384
It looks like the META file is not being installed by coq-elpi either.
I'm not sure whether that's relevant, since ocamlfind couldn't find
coq-elpi even when META was present (in a much older revision of this
manifest; I can dig for it but just today don't have time).
The problem seems to be something in the build process itself; if the
extra phase 'check-findlib-path' is omitted then coq-elpi's build is
reported as a success.
The later package coq-mathcomp-hierarchy-builder runs ocamlfind to find
coq-elpi, too.
What would be a way to ensure that coq-elpi is found by ocamlfind?
Thanks!
Garek
(Manifest attached with an ocaml-elpi patch. You will need to change the path for
the ocaml-elpi (patches) field to match your directory structure, but otherwise
this manifest should work.)
--=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=coq-mathcomp-analysis.scm
Content-Transfer-Encoding: base64
OzsgLSotIG1vZGU6IHNjaGVtZTsgbW9kZTogZ3VpeC1kZXZlbCAtKi0KOzs7IExvY2FsIFZhcmlh
YmxlczoKOzs7IHNlbnRlbmNlLWVuZC1kb3VibGUtc3BhY2U6IHQKOzs7IEVuZDoKOzs7IFRoaXMg
bW9kdWxlIGV4dGVuZHMgR05VwqBHdWl4IGFuZCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgc2FtZSB0
ZXJtcywgdGhvc2UKOzs7IG9mIHRoZSBHTlUgR1BMIHZlcnNpb24gMyBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgo7OzsKOzs7IENvcHlyaWdodCDCqSAyMDIyIEdhcmVrIER5
c3plbAoKOzsgVG8gYnVpbGQgZGlyZWN0bHkgZnJvbSB0aGlzIGZpbGUsIHVzZSB0aGUgZm9sbG93
aW5nIGNvbW1hbmQuCjs7IGd1aXggYnVpbGQgLS13aXRoLXBhdGNoPW9jYW1sLWVscGk9cGF0Y2hl
cy9vY2FtbC1lbHBpLWZpeC15b2pzb24ucGF0Y2ggLUtmIGNvcS1tYXRoY29tcC1hbmFseXNpcy5z
Y20KCihkZWZpbmUtbW9kdWxlIChjb3EtbWF0aGNvbXAtYW5hbHlzaXMpCiAgIzp1c2UtbW9kdWxl
IChndWl4KQogICM6dXNlLW1vZHVsZSAoZ3VpeCBnaXQtZG93bmxvYWQpCiAgIzp1c2UtbW9kdWxl
IChndWl4IGRvd25sb2FkKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBwYWNrYWdlcykKICAjOnVzZS1t
b2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGdudSkKICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQg
Z251LWJ1aWxkLXN5c3RlbSkKICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGR1bmUp
CiAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBvY2FtbCkKICAjOnVzZS1tb2R1bGUg
KGd1aXggYnVpbGQtc3lzdGVtIHB5cHJvamVjdCkKICA7OyAjOnVzZS1tb2R1bGUgKChndWl4IGJ1
aWxkIHV0aWxzKSAjOnByZWZpeCB1dGlsczopCiAgIzp1c2UtbW9kdWxlICgoZ3VpeCBsaWNlbnNl
cykKICAgICAgICAgICAgICAgICM6cHJlZml4IGxpY2Vuc2U6KQogICM6dXNlLW1vZHVsZSAoKGdu
dSBwYWNrYWdlcyBiYXNlKQogICAgICAgICAgICAgICAgIzpwcmVmaXggYmFzZTopCiAgIzp1c2Ut
bW9kdWxlIChndWl4IGJ1aWxkIHV0aWxzKQogICM6dXNlLW1vZHVsZSAoZ3VpeCB1dGlscykKICAj
OnVzZS1tb2R1bGUgKGd1aXggcHJvZmlsZXMpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMp
CiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY29xKQogICM6dXNlLW1vZHVsZSAoZ251IHBh
Y2thZ2VzIGJhc2UpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgb2NhbWwpCiAgIzp1c2Ut
bW9kdWxlIChnbnUgcGFja2FnZXMgdGltZSkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBw
eXRob24pCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcHl0aG9uLXh5eikKICAjOnVzZS1t
b2R1bGUgKGdudSBwYWNrYWdlcyBweXRob24tYnVpbGQpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFj
a2FnZXMgcHl0aG9uLXdlYikKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBweXRob24tY3J5
cHRvKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHhkaXNvcmcpCiAgIzp1c2UtbW9kdWxl
IChndWl4IGJ1aWxkLXN5c3RlbSBweXRob24pCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg
cHl0aG9uLWNoZWNrKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNoZWNrKQogICM6dXNl
LW1vZHVsZSAoZ251IHBhY2thZ2VzIGphdmEpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg
cHl0aG9uLWNvbXByZXNzaW9uKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGx1YSkKICAj
OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB2ZXJzaW9uLWNvbnRyb2wpKQoKOzs7IFB5dGhvbgoo
ZGVmaW5lLXB1YmxpYyBweXRob24tcHByaW50cHAKICA7OyBHaXQgdmVyc2lvbiB0YWdzIGFyZSBp
bmFjY3VyYXRlIGZvciB0aGlzIHBhY2thZ2U7IHVzZSB0aGUKICA7OyBiYXJlIGNvbW1pdC4KICAo
bGV0ICgoY29tbWl0ICI3ZWRlNmRhMWYzMDYyYmJmYjMyZWUwNDM1M2Q2NzVhNWJmZjE4NWUwIikK
ICAgICAgICAocmV2aXNpb24gIjEiKSkKICAgIChwYWNrYWdlCiAgICAgIChuYW1lICJweXRob24t
cHByaW50cHAiKQogICAgICAodmVyc2lvbiAoZ2l0LXZlcnNpb24gIjAuMy4wIiByZXZpc2lvbiBj
b21taXQpKQogICAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAgIChtZXRob2QgZ2l0
LWZldGNoKQogICAgICAgICAgICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAg
ICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL3dvbGV2ZXIvcHByaW50cHAiKQogICAg
ICAgICAgICAgICAgICAgICAgKGNvbW1pdCBjb21taXQpKSkKICAgICAgICAgICAgICAgIChmaWxl
LW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAgICAgICAgICAgIChzaGEy
NTYKICAgICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAgICIwbms5MzVtM2ln
OHNjMzJsYXFiaDY5OHZ3cGswMzd5dzI3Z2QzbnZ3d3pkdjQyamFsMmxpIikpKSkKICAgICAgKGlu
cHV0cyAobGlzdCBweXRob24tcHlwYS1idWlsZCBweXRob24taHlwb3RoZXNpcyBweXRob24td2hl
ZWwKICAgICAgICAgICAgICAgICAgICBweXRob24tcGFyYW1ldGVyaXplZCkpCiAgICAgIChuYXRp
dmUtaW5wdXRzIChsaXN0IHB5dGhvbi1weXRlc3QgcHl0aG9uLW5vc2UpKQogICAgICAoYnVpbGQt
c3lzdGVtIHB5cHJvamVjdC1idWlsZC1zeXN0ZW0pCiAgICAgIChhcmd1bWVudHMKICAgICAgIChs
aXN0ICM6cGhhc2VzICN+KG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAg
ICAgICAgICAgICAgICAgIChyZXBsYWNlICdidWlsZAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKGxhbWJkYSBfCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRlbnYgIlNPVVJD
RV9EQVRFX0VQT0NIIiAiMzE1NTMyODAwIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KGludm9rZSAicHl0aG9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt
bSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnVpbGQiCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0td2hlZWwiCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIi0tbm8taXNvbGF0aW9uIgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICIuIikpKQogICAgICAgICAgICAgICAgICAgICAgICAgIChyZXBs
YWNlICdpbnN0YWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGFtYmRhKiAoIzprZXkg
b3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChsZXQgKCh3aGwgKGNhciAoZmluZC1maWxlcyAiZGlzdCIgIlxcLndobCQiKSkpKQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIChpbnZva2UgInBpcCIKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLW5vLWNhY2hlLWRpciIKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLW5vLWlucHV0IgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImluc3RhbGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiLS1uby1kZXBzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIi0tcHJlZml4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IyRvdXRwdXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdobCkpKSkK
ICAgICAgICAgICAgICAgICAgICAgICAgICAocmVwbGFjZSAnY2hlY2sKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSB0ZXN0cz8gIzphbGxvdy1vdGhlci1rZXlzKQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod2hlbiB0ZXN0cz8KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoaW52b2tlICJweXRob24iICJ0ZXN0LnB5IikpKSkpKSkKICAgICAg
KGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3dvbGV2ZXIvcHByaW50cHAiKQogICAgICAo
c3lub3BzaXMgIlB5dGhvbiBwcmV0dHktcHJpbnRlciIpCiAgICAgIChkZXNjcmlwdGlvbgogICAg
ICAgIlRoaXMgcGFja2FnZSBpcyBhIHByaW50ZXIgZm9yIFB5dGhvbiB3aGljaCBwcmV0dHktcHJp
bnRzIHN0cnVjdHVyZXMuCkl0IGFsc28gYXR0ZW1wdHMgdG8gcHJpbnQgVW5pY29kZSBjaGFyYWN0
ZXJzIHdpdGhvdXQgZXNjYXBpbmcgdGhlbS4iKQogICAgICAobGljZW5zZSBsaWNlbnNlOmJzZC0z
KSkpKQoKKGRlZmluZS1wdWJsaWMgcHl0aG9uLXBsdWdneS0xLjAKICAocGFja2FnZQogICAgKGlu
aGVyaXQgcHl0aG9uLXBsdWdneSkKICAgIChuYW1lICJweXRob24tcGx1Z2d5IikKICAgICh2ZXJz
aW9uICIxLjAuMCIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVy
bC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChweXBpLXVyaSAicGx1Z2d5IiB2ZXJzaW9uKSkK
ICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAg
ICAgICIwbjhpYWRsYXMyejFiNGgwZmM3M2IwNDNjN2l3ZnZ4OXJndnFtMWF6am1mZm1oeGtmOTIy
IikpKSkKICAgIChpbnB1dHMgKGxpc3QgcHl0aG9uLXB5cGEtYnVpbGQgcHl0aG9uLXdoZWVsKSkK
ICAgIChuYXRpdmUtaW5wdXRzIChsaXN0IHB5dGhvbi1weXRlc3QgcHl0aG9uLXNldHVwdG9vbHMt
c2NtKSkpKQoKKGRlZmluZS1wdWJsaWMgcHl0aG9uLXNldHVwdG9vbHMtc2NtLTcKICAocGFja2Fn
ZQogICAgKGluaGVyaXQgcHl0aG9uLXNldHVwdG9vbHMtc2NtKQogICAgKHZlcnNpb24gIjcuMC41
IikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQog
ICAgICAgICAgICAgICh1cmkgKHB5cGktdXJpICJzZXR1cHRvb2xzX3NjbSIgdmVyc2lvbikpCiAg
ICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAg
ICAiMGkyOHpnaHpkenprbTl3OHJyandwaGdna2ZzNThuaDZ4bnFzamhtcWp2cXhmeXBpNjdoMyIp
KSkpCiAgICAoYnVpbGQtc3lzdGVtIHB5cHJvamVjdC1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1l
bnRzCiAgICAgYCggO0Rpc2FibGVkIHRlc3RzIHRvIGF2b2lkIGV4dHJhIGRlcGVuZGVuY2llcy4K
ICAgICAgICM6dGVzdHM/ICNmCiAgICAgICAjOnBoYXNlcyAobW9kaWZ5LXBoYXNlcyAlc3RhbmRh
cmQtcGhhc2VzCiAgICAgICAgICAgICAgICAgIDs7IERpc2FibGVkIHNhbml0eSBjaGVjayB0byBh
dm9pZCBleHRyYSBkZXBlbmRlbmNpZXMuCiAgICAgICAgICAgICAgICAgIChkZWxldGUgJ3Nhbml0
eS1jaGVjaykpKSkKICAgIChwcm9wYWdhdGVkLWlucHV0cyAobGlzdCBweXRob24tcGFja2FnaW5n
LWJvb3RzdHJhcCBweXRob24tdG9tbGkpKSkpCgooZGVmaW5lLXB1YmxpYyBweXRob24tcGF0aHNw
ZWMtMC4xMC4xCiAgKHBhY2thZ2UKICAgIChuYW1lICJweXRob24tcGF0aHNwZWMiKQogICAgKHZl
cnNpb24gIjAuMTAuMSIpCiAgICAoc291cmNlIDs7IChvcmlnaW4KICAgICA7OyAgIChtZXRob2Qg
dXJsLWZldGNoKQogICAgIDs7ICAgKHVyaSAocHlwaS11cmkgInBhdGhzcGVjIiB2ZXJzaW9uKSkK
ICAgICA7OyAgIChzaGEyNTYKICAgICA7OyAgICAoYmFzZTMyCiAgICAgOzsgICAgICIwZzlqaGho
ZjN6bXJudnp2ampkMnloaXpzYjZpOTNobWxzemIwOXdpeGxyMW5yaG4za2tzIikpKQogICAgIChv
cmlnaW4KICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5j
ZQogICAgICAgICAgICAgKHVybAogICAgICAgICAgICAgICJodHRwczovL2dpdGh1Yi5jb20vY3Bi
dXJuei9weXRob24tcGF0aHNwZWMiKQogICAgICAgICAgICAgKGNvbW1pdCAoc3RyaW5nLWFwcGVu
ZCAidiIgdmVyc2lvbikpKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIwc2d6aDdh
ZDF4MDk4ZDBybG4wMWYwcWFicGE3bW5wMjY4NjNpc25jYml5cXN4aDFnYXhwIikpKSkKICAgIChi
dWlsZC1zeXN0ZW0gcHlwcm9qZWN0LWJ1aWxkLXN5c3RlbSkKICAgIChob21lLXBhZ2UgImh0dHBz
Oi8vZ2l0aHViLmNvbS9jcGJ1cm56L3B5dGhvbi1wYXRoc3BlYyIpCiAgICAoc3lub3BzaXMKICAg
ICAiVXRpbGl0eSBsaWJyYXJ5IGZvciBnaXRpZ25vcmUgc3R5bGUgcGF0dGVybiBtYXRjaGluZyBv
ZiBmaWxlIHBhdGhzLiIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiVXRpbGl0eSBsaWJyYXJ5IGZv
ciBnaXRpZ25vcmUgc3R5bGUgcGF0dGVybiBtYXRjaGluZyBvZiBmaWxlIHBhdGhzLiIpCiAgICAo
bGljZW5zZSBsaWNlbnNlOm1wbDIuMCkpKQoKOzsgVGhpcyBkZXBlbmRzIG9uIHBhY2thZ2VzIGlu
IHB5dGhvbi14eXouc2NtOgo7OyBweXRob24tdmVyc2lvbiwgcHl0aG9uLWltcG9ydGxpYi1tZXRh
ZGF0YSwgcHl0aG9uLXBhdGhzcGVjLAo7OyBweXRob24tcGx1Z2d5LTEuMCwgYW5kIHB5dGhvbi1w
bGF0Zm9ybWRpcnMuCihkZWZpbmUtcHVibGljIHB5dGhvbi1oYXRjaGxpbmcKICAocGFja2FnZQog
ICAgKG5hbWUgInB5dGhvbi1oYXRjaGxpbmciKQogICAgKHZlcnNpb24gIjEuMTAuMCIpCiAgICAo
c291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICAg
ICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6
Ly9naXRodWIuY29tL3B5cGEvaGF0Y2giKQogICAgICAgICAgICAgICAgICAgIChjb21taXQgKHN0
cmluZy1hcHBlbmQgImhhdGNobGluZy12IiB2ZXJzaW9uKSkpKQogICAgICAgICAgICAgIChmaWxl
LW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAgICAgICAgICAoc2hhMjU2
CiAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAgICAgICIwYWh4NjJ3NzExYTJ2bmI5
MWFocXhydzh5aTBncTBrZmNoM2ZrNmFrem5nZDEzMzc2Y3pqIikpKSkKICAgIDs7IHB5dGhvbi1w
eXBhLWJ1aWxkIG5lZWRlZCBmb3IgYm9vdHN0cmFwcGluZy4KICAgIDs7IE90aGVyd2lzZSB3ZSBn
ZXQgYSBjaXJjdWxhciByZWZlcmVuY2U6CiAgICA7OyBweXRob24taGF0Y2hsaW5nIHRyeWluZyB0
byBidWlsZCBpdHNlbGYsIHdpdGhvdXQKICAgIDs7IGZpcnN0IGhhdmluZyBoYXRjaGxpbmcgaW5z
dGFsbGVkLgogICAgKGlucHV0cyAobGlzdCBweXRob24tZWRpdGFibGVzCiAgICAgICAgICAgICAg
ICAgIHB5dGhvbi1wYWNrYWdpbmctYm9vdHN0cmFwCiAgICAgICAgICAgICAgICAgIDs7IEJlbG93
IGZyb20gcHl0aG9uLXh5ei5zY20sIGNhbiBiZSBtb3ZlZCB0byBweXRob24tYnVpbGQuc2NtCiAg
ICAgICAgICAgICAgICAgIHB5dGhvbi1wYXRoc3BlYy0wLjEwLjEKICAgICAgICAgICAgICAgICAg
OzsgQmVsb3cgZnJvbSBweXRob24teHl6LnNjbSwgY2FuIGJlIG1vdmVkIHRvIHB5dGhvbi1idWls
ZC5zY20KICAgICAgICAgICAgICAgICAgcHl0aG9uLXBsdWdneS0xLjAKICAgICAgICAgICAgICAg
ICAgcHl0aG9uLXRvbWxpKSkKICAgIChidWlsZC1zeXN0ZW0gcHlwcm9qZWN0LWJ1aWxkLXN5c3Rl
bSkKICAgIChhcmd1bWVudHMKICAgICBgKCA7VGVzdHMgZGVwZW5kIG9uIG1vZHVsZSBweXRob24t
aGF0Y2gsIHdoaWNoIHdvdWxkIHJlc3VsdCBpbiBjaXJjdWxhciByZWZlcmVuY2VzCiAgICAgICAj
OnRlc3RzPyAjZgogICAgICAgIzpwaGFzZXMgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNl
cwogICAgICAgICAgICAgICAgICAocmVwbGFjZSAnYnVpbGQKICAgICAgICAgICAgICAgICAgICAo
bGFtYmRhIF8KICAgICAgICAgICAgICAgICAgICAgIChjaGRpciAiYmFja2VuZCIpCiAgICAgICAg
ICAgICAgICAgICAgICA7OyBaSVAgZG9lcyBub3Qgc3VwcG9ydCB0aW1lc3RhbXBzIGJlZm9yZSAx
OTgwLgogICAgICAgICAgICAgICAgICAgICAgKHNldGVudiAiU09VUkNFX0RBVEVfRVBPQ0giICIz
MTU1MzI4MDAiKQogICAgICAgICAgICAgICAgICAgICAgKGludm9rZSAicHl0aG9uIgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiLW0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJidWlsZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0td2hlZWwiCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLW5vLWlzb2xhdGlvbiIKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIi4iKSkpCiAgICAgICAgICAgICAgICAgIChyZXBsYWNlICdpbnN0YWxsCiAg
ICAgICAgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IG91dHB1dHMgIzphbGxvdy1vdGhlci1r
ZXlzKQogICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHdobCAoY2FyIChmaW5kLWZpbGVzICJk
aXN0IiAiXFwud2hsJCIpKSkpCiAgICAgICAgICAgICAgICAgICAgICAgIChpbnZva2UgInBpcCIK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1uby1jYWNoZS1kaXIiCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIi0tbm8taW5wdXQiCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImluc3RhbGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0t
bm8tZGVwcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1wcmVmaXgiCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0IikKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGwpKSkpKSkpCiAgICAoaG9tZS1wYWdlICJo
dHRwczovL29mZWsuZGV2L3Byb2plY3RzL2hhdGNoLyIpCiAgICAoc3lub3BzaXMgIkJvb3RzdHJh
cCBiaW5hcmllcyB0byBidWlsZCBAY29kZXtweXRob24taGF0Y2h9IikKICAgIChkZXNjcmlwdGlv
biAiQm9vdHN0cmFwIGJpbmFyaWVzIHRvIGJ1aWxkIEBjb2Rle3B5dGhvbi1oYXRjaH0iKQogICAg
OzsgTUlUIExpY2Vuc2UKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCjs7IChkZWZpbmUt
cHVibGljIHB5dGhvbi1oYXRjaGxpbmcKOzsgICAgIChwYWNrYWdlCjs7ICAgICAobmFtZSAicHl0
aG9uLWhhdGNobGluZyIpCjs7ICAgICAodmVyc2lvbiAiMS4xMC4wIikKOzsgICAgIChzb3VyY2Ug
KG9yaWdpbgo7OyAgICAgICAgICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQo7OyAgICAgICAgICAg
ICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKOzsgICAgICAgICAgICAgICAgICAgICAodXJsICJodHRw
czovL2dpdGh1Yi5jb20vcHlwYS9oYXRjaCIpCjs7ICAgICAgICAgICAgICAgICAgICAgKGNvbW1p
dCAoc3RyaW5nLWFwcGVuZCAiaGF0Y2hsaW5nLXYiIHZlcnNpb24pKSkpCjs7ICAgICAgICAgICAg
ICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQo7OyAgICAgICAgICAg
ICAgIChzaGEyNTYKOzsgICAgICAgICAgICAgICAgKGJhc2UzMgo7OyAgICAgICAgICAgICAgICAg
IjBhaHg2Mnc3MTFhMnZuYjkxYWhxeHJ3OHlpMGdxMGtmY2gzZms2YWt6bmdkMTMzNzZjemoiKSkp
KQo7OyAgICAgKGlucHV0cyAobGlzdCBweXRob24tZWRpdGFibGVzCjs7ICAgICAgICAgICAgICAg
ICAgIHB5dGhvbi1wYWNrYWdpbmctYm9vdHN0cmFwCjs7ICAgICAgICAgICAgICAgICAgIDs7IEJl
bG93IGZyb20gcHl0aG9uLXh5ei5zY20sIGNhbiBiZSBtb3ZlZCB0byBweXRob24tYnVpbGQuc2Nt
Cjs7ICAgICAgICAgICAgICAgICAgIHB5dGhvbi1wYXRoc3BlYy0wLjEwLjEKOzsgICAgICAgICAg
ICAgICAgICAgOzsgQmVsb3cgZnJvbSBweXRob24teHl6LnNjbSwgY2FuIGJlIG1vdmVkIHRvIHB5
dGhvbi1idWlsZC5zY20KOzsgICAgICAgICAgICAgICAgICAgcHl0aG9uLXBsdWdneS0xLjAKOzsg
ICAgICAgICAgICAgICAgICAgcHl0aG9uLXRvbWxpCjs7ICAgICAgICAgICAgICAgICAgIHB5dGhv
bi1oYXRjaGxpbmctYm9vdHN0cmFwKSkKOzsgICAgIChidWlsZC1zeXN0ZW0gcHlwcm9qZWN0LWJ1
aWxkLXN5c3RlbSkKOzsgICAgIChhcmd1bWVudHMKOzsgICAgICBgKCA7VGVzdHMgZGVwZW5kIG9u
IG1vZHVsZSBweXRob24taGF0Y2gsIHdoaWNoIHRoaXMKOzsgICAgICAgIDs7IGlzIGJvb3RzdHJh
cHBpbmcuCjs7ICAgICAgICAjOnRlc3RzPyAjZgo7OyAgICAgICAgIzpwaGFzZXMgKG1vZGlmeS1w
aGFzZXMgJXN0YW5kYXJkLXBoYXNlcwo7OyAgICAgICAgICAgICAgICAgICAocmVwbGFjZSAnYnVp
bGQKOzsgICAgICAgICAgICAgICAgICAgICAobGFtYmRhIF8KOzsgICAgICAgICAgICAgICAgICAg
ICAgIChjaGRpciAiYmFja2VuZCIpCjs7ICAgICAgICAgICAgICAgICAgICAgICA7OyBaSVAgZG9l
cyBub3Qgc3VwcG9ydCB0aW1lc3RhbXBzIGJlZm9yZSAxOTgwLgo7OyAgICAgICAgICAgICAgICAg
ICAgICAgKHNldGVudiAiU09VUkNFX0RBVEVfRVBPQ0giICIzMTU1MzI4MDAiKQo7OyAgICAgICAg
ICAgICAgICAgICAgICAgKGludm9rZSAicHl0aG9uIgo7OyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiLW0iCjs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJidWlsZCIKOzsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0td2hlZWwiCjs7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICItLW5vLWlzb2xhdGlvbiIKOzsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIi4iKSkpCjs7ICAgICAgICAgICAgICAgICAgIChyZXBsYWNlICdpbnN0YWxsCjs7
ICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IG91dHB1dHMgIzphbGxvdy1vdGhl
ci1rZXlzKQo7OyAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHdobCAoY2FyIChmaW5kLWZp
bGVzICJkaXN0IiAiXFwud2hsJCIpKSkpCjs7ICAgICAgICAgICAgICAgICAgICAgICAgIChpbnZv
a2UgInBpcCIKOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1uby1jYWNoZS1k
aXIiCjs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tbm8taW5wdXQiCjs7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluc3RhbGwiCjs7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIi0tbm8tZGVwcyIKOzsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiLS1wcmVmaXgiCjs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFz
c29jLXJlZiAlb3V0cHV0cyAib3V0IikKOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB3aGwpKSkpKSkpCjs7ICAgICAoaG9tZS1wYWdlICJodHRwczovL29mZWsuZGV2L3Byb2plY3Rz
L2hhdGNoLyIpCjs7ICAgICAoc3lub3BzaXMgIkJvb3RzdHJhcCBiaW5hcmllcyB0byBidWlsZCBA
Y29kZXtweXRob24taGF0Y2h9IikKOzsgICAgIChkZXNjcmlwdGlvbiAiQm9vdHN0cmFwIGJpbmFy
aWVzIHRvIGJ1aWxkIEBjb2Rle3B5dGhvbi1oYXRjaH0iKQo7OyAgICAgOzsgTUlUIExpY2Vuc2UK
OzsgICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVibGljIHB5dGhvbi1o
YXRjaAogIChwYWNrYWdlCiAgICAobmFtZSAicHl0aG9uLWhhdGNoIikKICAgICh2ZXJzaW9uICIx
LjYuMiIpIDs7IGF0IG1pbmltdW0gMS41LjAKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAg
ICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UK
ICAgICAgICAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vcHlwYS9oYXRjaCIp
CiAgICAgICAgICAgICAgICAgICAgKGNvbW1pdCAoc3RyaW5nLWFwcGVuZCAiaGF0Y2gtdiIgdmVy
c2lvbikpKSkKICAgICAgICAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVy
c2lvbikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAg
ICAgICAgICAgICAiMGlmNXNzcDZ2bGZ2bmExamN2YXA0MHIwZjdwbTQ1aDdrYmlhNzhoNWl2bTE3
dmI4cDA4YiIKICAgICAgICAgICAgICAgIDs7IjAzMHlpOWh3NTBtbjg5OXBxMDczbHcyYTU1cjU3
c2tsMmc5YWdqcDNiNGw5NWYzbmF5MzAiCiAgICAgICAgICAgICAgICApKSkpCiAgICAoaW5wdXRz
IChsaXN0IHB5dGhvbi1weXBhLWJ1aWxkCiAgICAgICAgICAgICAgICAgIHB5dGhvbi1lZGl0YWJs
ZXMKICAgICAgICAgICAgICAgICAgcHl0aG9uLWltcG9ydGxpYi1tZXRhZGF0YQogICAgICAgICAg
ICAgICAgICBweXRob24tdmVyc2lvbgogICAgICAgICAgICAgICAgICBweXRob24tcGFja2FnaW5n
LW5leHQKICAgICAgICAgICAgICAgICAgcHl0aG9uLXBhdGhzcGVjCiAgICAgICAgICAgICAgICAg
IHB5dGhvbi1wbHVnZ3ktMS4wIDtUT0RPOiBOb3QgZGV0ZWN0ZWQgYnkgcHl0ZXN0PwogICAgICAg
ICAgICAgICAgICBweXRob24taGF0Y2hsaW5nCiAgICAgICAgICAgICAgICAgIHB5dGhvbi10b21s
aQogICAgICAgICAgICAgICAgICBweXRob24tcGxhdGZvcm1kaXJzCiAgICAgICAgICAgICAgICAg
IHB5dGhvbi1yaWNoCiAgICAgICAgICAgICAgICAgIHB5dGhvbi10b21saS13KSkKICAgIChidWls
ZC1zeXN0ZW0gcHlwcm9qZWN0LWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBgKCA7
VGVzdHMgYXBwZWFyIHRvIGJlIHdyaXR0ZW4gc3VjaCB0aGF0IHRoZSBpbnB1dCBweXRob24tcGx1
Z2d5LTEuMCBpcwogICAgICAgOzsgbm90IGRldGVjdGVkLgogICAgICAgIzp0ZXN0cz8gI2YKICAg
ICAgICM6cGhhc2VzIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgICAg
ICAgICAgKHJlcGxhY2UgJ2J1aWxkCiAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSBfCiAgICAg
ICAgICAgICAgICAgICAgICA7OyBaSVAgZG9lcyBub3Qgc3VwcG9ydCB0aW1lc3RhbXBzIGJlZm9y
ZSAxOTgwLgogICAgICAgICAgICAgICAgICAgICAgKHNldGVudiAiU09VUkNFX0RBVEVfRVBPQ0gi
ICIzMTU1MzI4MDAiKQogICAgICAgICAgICAgICAgICAgICAgKGludm9rZSAiaGF0Y2hsaW5nIiAi
YnVpbGQiKSkpCiAgICAgICAgICAgICAgICAgIChyZXBsYWNlICdpbnN0YWxsCiAgICAgICAgICAg
ICAgICAgICAgKGxhbWJkYSogKCM6a2V5IG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAg
ICAgICAgICAgICAgICAgICAgKGxldCAoKHdobCAoY2FyIChmaW5kLWZpbGVzICJkaXN0IiAiXFwu
d2hsJCIpKSkpCiAgICAgICAgICAgICAgICAgICAgICAgIChpbnZva2UgInBpcCIKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiLS1uby1jYWNoZS1kaXIiCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIi0tbm8taW5wdXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImluc3RhbGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tbm8tZGVwcyIK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1wcmVmaXgiCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0IikKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB3aGwpKSkpCiAgICAgICAgICAgICAgICAgIChyZXBsYWNlICdj
aGVjawogICAgICAgICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSB0ZXN0cz8gIzphbGxvdy1v
dGhlci1rZXlzKQogICAgICAgICAgICAgICAgICAgICAgKHdoZW4gdGVzdHM/CiAgICAgICAgICAg
ICAgICAgICAgICAgIChjaGRpciAidGVzdHMiKQogICAgICAgICAgICAgICAgICAgICAgICAoaW52
b2tlICJweXRlc3QiICItdnYiKSkpKQogICAgICAgICAgICAgICAgICA7OyBDYW4ndCBoYXZlIGhh
dGNoIGFzIGEgcmVxdWlyZW1lbnQgb2YgaXRzZWxmLgogICAgICAgICAgICAgICAgICAoZGVsZXRl
ICdzYW5pdHktY2hlY2spKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL29mZWsuZGV2L3Byb2pl
Y3RzL2hhdGNoLyIpCiAgICAoc3lub3BzaXMgIlB5dGhvbiBidWlsZCBzeXN0ZW0gd2l0aCBwcm9q
ZWN0IGdlbmVyYXRpb24iKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlB5dGhvbiBidWlsZCBzeXN0
ZW0gd2l0aCBwcm9qZWN0IGdlbmVyYXRpb24uICBJdCBhbHNvIGRlZmluZXMgYSBzcGVjaWZpYwpz
eW50YXggaW4gQGNvZGV7dG9tbH0gZmlsZXMgdG8gY2hlY2sgZm9yIGRlcGVuZGVuY2llcy4iKQog
ICAgOzsgTUlUIExpY2Vuc2UKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUt
cHVibGljIHB5dGhvbi1oYXRjaC12Y3MKICA7OyBUYWdzIGFyZSBub3QgYWNjdXJhdGU7IGp1c3Qg
dXNlIHRoZSBjb21taXQgaXRzZWxmLgogIChsZXQgKChjb21taXQgIjM2N2RhZWRiMjNiYTkwNmYz
ZTA3MTRjNjQzOTJmZGQ2ZmZhNjlhYjIiKQogICAgICAgIChyZXZpc2lvbiAiMSIpKQogICAgKHBh
Y2thZ2UKICAgICAgKG5hbWUgInB5dGhvbi1oYXRjaC12Y3MiKQogICAgICAodmVyc2lvbiAoZ2l0
LXZlcnNpb24gIjAuMi4wIiByZXZpc2lvbiBjb21taXQpKQogICAgICAoc291cmNlIChvcmlnaW4K
ICAgICAgICAgICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgICAgICAgICAgKHVyaSAo
Z2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIu
Y29tL29mZWsvaGF0Y2gtdmNzIikKICAgICAgICAgICAgICAgICAgICAgIChjb21taXQgY29tbWl0
KSkpCiAgICAgICAgICAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lv
bikpCiAgICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgICAgKGJhc2UzMgogICAg
ICAgICAgICAgICAgICAiMG5sbnYzMmpxaXo4aWtjMDEzaDVzaW1taXFxZzBxYTdwbTBxY2JkOHlp
cXExcDQzaXcwNSIpKSkpCiAgICAgIChidWlsZC1zeXN0ZW0gcHlwcm9qZWN0LWJ1aWxkLXN5c3Rl
bSkKICAgICAgKGlucHV0cyAobGlzdCBweXRob24tcHlwYS1idWlsZAogICAgICAgICAgICAgICAg
ICAgIHB5dGhvbi1wYXRoc3BlYy0wLjEwLjEKICAgICAgICAgICAgICAgICAgICBweXRob24tcGx1
Z2d5LTEuMAogICAgICAgICAgICAgICAgICAgIHB5dGhvbi1lZGl0YWJsZXMKICAgICAgICAgICAg
ICAgICAgICBnaXQKICAgICAgICAgICAgICAgICAgICBweXRob24taGF0Y2hsaW5nCiAgICAgICAg
ICAgICAgICAgICAgOzsgcHl0aG9uLWhhdGNoCiAgICAgICAgICAgICAgICAgICAgcHl0aG9uLXR5
cGluZy1leHRlbnNpb25zKSkKICAgICAgKG5hdGl2ZS1pbnB1dHMgKGxpc3QgcHl0aG9uLXB5dGVz
dAogICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBweXRob24tc2V0dXB0b29scy1zY20tNi40
IG1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLXNldHVwdG9vbHMtc2Nt
LTcpKQogICAgICA7OyAoYXJndW1lbnRzCiAgICAgIDs7ICAobGlzdCAjOnBoYXNlcyAjfihtb2Rp
ZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgOzsgICAgICAgICAgICAgICAgICAgICAo
cmVwbGFjZSAnYnVpbGQKICAgICAgOzsgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgXwog
ICAgICA7OyAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0ZW52ICJTT1VSQ0VfREFURV9FUE9D
SCIgIjMxNTUzMjgwMCIpCiAgICAgIDs7ICAgICAgICAgICAgICAgICAgICAgICAgIChpbnZva2Ug
InB5dGhvbiIKICAgICAgOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW0iCiAg
ICAgIDs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJ1aWxkIgogICAgICA7OyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXdoZWVsIgogICAgICA7OyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICItLW5vLWlzb2xhdGlvbiIKICAgICAgOzsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiLiIpKSkKICAgICAgOzsgICAgICAgICAgICAgICAg
ICAgICAocmVwbGFjZSAnaW5zdGFsbAogICAgICA7OyAgICAgICAgICAgICAgICAgICAgICAgKGxh
bWJkYSogKCM6a2V5IG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICA7OyAgICAgICAg
ICAgICAgICAgICAgICAgICAobGV0ICgod2hsIChjYXIgKGZpbmQtZmlsZXMgImRpc3QiICJcXC53
aGwkIikpKSkKICAgICAgOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW52b2tlICJwaXAi
CiAgICAgIDs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1uby1jYWNoZS1k
aXIiCiAgICAgIDs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1uby1pbnB1
dCIKICAgICAgOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnN0YWxsIgog
ICAgICA7OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tbm8tZGVwcyIKICAg
ICAgOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXByZWZpeCIKICAgICAg
OzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMkb3V0cHV0CiAgICAgIDs7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGwpKSkpCiAgICAgIDs7ICAgICAgICAg
ICAgICAgICAgICAgKHJlcGxhY2UgJ2NoZWNrCiAgICAgIDs7ICAgICAgICAgICAgICAgICAgICAg
ICAobGFtYmRhKiAoIzprZXkgdGVzdHM/ICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAgOzsgICAg
ICAgICAgICAgICAgICAgICAgICAgKHdoZW4gdGVzdHM/CiAgICAgIDs7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKGludm9rZSAicHl0ZXN0IiAiLXZ2diIpKSkpKSkpIDspCiAgICAgIChhcmd1
bWVudHMKICAgICBgKCA7VGVzdHMgZGVwZW5kIG9uIG1vZHVsZSBweXRob24taGF0Y2gsIHdoaWNo
IHRoaXMKICAgICAgIDs7IGlzIGJvb3RzdHJhcHBpbmcuCiAgICAgICAjOnRlc3RzPyAjZgogICAg
ICAgIzpwaGFzZXMgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgICAg
ICAgICAocmVwbGFjZSAnYnVpbGQKICAgICAgICAgICAgICAgICAgICAobGFtYmRhIF8KICAgICAg
ICAgICAgICAgICAgICAgIDs7KGNoZGlyICJiYWNrZW5kIikKICAgICAgICAgICAgICAgICAgICAg
IDs7IFpJUCBkb2VzIG5vdCBzdXBwb3J0IHRpbWVzdGFtcHMgYmVmb3JlIDE5ODAuCiAgICAgICAg
ICAgICAgICAgICAgICAoc2V0ZW52ICJTT1VSQ0VfREFURV9FUE9DSCIgIjMxNTUzMjgwMCIpCiAg
ICAgICAgICAgICAgICAgICAgICAoaW52b2tlICJweXRob24iCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICItbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJ1aWxkIgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiLS13aGVlbCIKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIi0tbm8taXNvbGF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
LiIpKSkKICAgICAgICAgICAgICAgICAgKHJlcGxhY2UgJ2luc3RhbGwKICAgICAgICAgICAgICAg
ICAgICAobGFtYmRhKiAoIzprZXkgb3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAg
ICAgICAgICAgICAgICAobGV0ICgod2hsIChjYXIgKGZpbmQtZmlsZXMgImRpc3QiICJcXC53aGwk
IikpKSkKICAgICAgICAgICAgICAgICAgICAgICAgKGludm9rZSAicGlwIgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICItLW5vLWNhY2hlLWRpciIKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiLS1uby1pbnB1dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
aW5zdGFsbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1uby1kZXBzIgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXByZWZpeCIKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAoYXNzb2MtcmVmICVvdXRwdXRzICJvdXQiKQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHdobCkpKSkpKSkKICAgICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9vZmVr
LmRldi9wcm9qZWN0cy9oYXRjaC8iKQogICAgICAoc3lub3BzaXMgIlBsdWdpbiBmb3IgQGNvZGV7
cHl0aG9uLWhhdGNofSB0byBpbmNsdWRlIHZlcnNpb25zIikKICAgICAgKGRlc2NyaXB0aW9uCiAg
ICAgICAiVGhpcyBwbHVnaW4gZGVmaW5lcyBhIHZlcnNpb24tY29udHJvbCBzeW50YXggZm9yIHVz
ZSB3aXRoCkBjb2Rle3RvbWx9IGZpbGVzIGludGVuZGVkIGZvciB1c2Ugd2l0aCBAY29kZXtweXRo
b24taGF0Y2h9LiIpCiAgICAgIDs7IE1JVCBMaWNlbnNlCiAgICAgIChsaWNlbnNlIGxpY2Vuc2U6
ZXhwYXQpKSkpCgooZGVmaW5lLXB1YmxpYyBweXRob24tcHl0ZXN0LWljZGlmZgogIChwYWNrYWdl
CiAgICAobmFtZSAicHl0aG9uLXB5dGVzdC1pY2RpZmYiKQogICAgKHZlcnNpb24gIjAuNiIpCiAg
ICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAg
ICAgICAgICAodXJpIChweXBpLXVyaSAicHl0ZXN0LWljZGlmZiIgdmVyc2lvbikpCiAgICAgICAg
ICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMWI4
dnpuMmh2djZ4MjV3MXM0NDZxMXJmc2JkaWs2MTdsenBhbDNxYjk0eDhhMTJ5endnOCIpKSkpCiAg
ICAoYnVpbGQtc3lzdGVtIHB5cHJvamVjdC1idWlsZC1zeXN0ZW0pCiAgICAocHJvcGFnYXRlZC1p
bnB1dHMgKGxpc3QgcHl0aG9uLXB5cGEtYnVpbGQgcHl0aG9uLWljZGlmZiBweXRob24tcHByaW50
cHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBweXRob24tcGx1Z2d5LTEuMCkpCiAgICAo
bmF0aXZlLWlucHV0cyAobGlzdCBweXRob24tcHl0ZXN0KSkKICAgIChhcmd1bWVudHMKICAgICBg
KDs7IFRlc3RzIGZhaWwgd2l0aCAiY29sbGVjdGluZyAuLi4gY29sbGVjdGVkIDAgaXRlbXMiCiAg
ICAgICAjOnRlc3RzPyAjZikpCiAgICA7OyAoYXJndW1lbnRzCiAgICA7OyAgYCgjOnBoYXNlcwog
ICAgOzsgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgOzsgICAgICAoYWRk
LWJlZm9yZSAnY2hlY2sgJ2NoZGlyLXRvLXRlc3QtZGlyCiAgICA7OyAgICAgICAgKGNoZGlyICJ0
ZXN0cyIpKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL2hqd3AvcHl0ZXN0
LWljZGlmZiIpCiAgICAoc3lub3BzaXMgIkNvbG9yZWQgZGlmZnMgdXNpbmcgQGNvZGV7cHl0aG9u
LWljZGlmZn0gZm9yIHB5dGVzdCBvdXRwdXQiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMg
cGFja2FnZSB1c2VzIEBjb2Rle3B5dGhvbi1pY2RpZmZ9IHRvIGFkZCBjb2xvciB0byB0aGUgb3V0
cHV0IG9mCnB5dGVzdCBhc3NlcnRpb25zLiIpCiAgICAobGljZW5zZSAobGljZW5zZTpub24tY29w
eWxlZnQgIkxJQ0VOU0UiKSkpKQoKKGRlZmluZS1wdWJsaWMgcHl0aG9uLWhhdGNoLWZhbmN5LXB5
cGktcmVhZG1lCiAgKHBhY2thZ2UKICAgIChuYW1lICJweXRob24taGF0Y2gtZmFuY3ktcHlwaS1y
ZWFkbWUiKQogICAgKHZlcnNpb24gIjIyLjguMCIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAg
ICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChweXBpLXVyaSAi
aGF0Y2hfZmFuY3lfcHlwaV9yZWFkbWUiIHZlcnNpb24pKQogICAgICAgICAgICAgIChzaGEyNTYK
ICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgOzsgUHlQSSBoYXNoIHByb2Js
ZW0KICAgICAgICAgICAgICAgIDs7IjF5a2Z6MXNiejU4eGJqdzVrOXhwbW41cjZqaTE2dzh2YWc0
N2o4Zjk2OWJxeTN3NTJpa3giCiAgICAgICAgICAgICAgICAiMHNuMndzZmJwc2JmMm1xaGp2dzYy
aDFjZnk1bXozZDdpcXlxdnM1YzIwY25sMG4yaTRmcyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIHB5
cHJvamVjdC1idWlsZC1zeXN0ZW0pCiAgICAocHJvcGFnYXRlZC1pbnB1dHMgKGxpc3QgcHl0aG9u
LXRvbWxpIHB5dGhvbi10eXBpbmctZXh0ZW5zaW9ucykpCiAgICAobmF0aXZlLWlucHV0cyAobGlz
dCBweXRob24tcHlwYS1idWlsZAogICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLXBhdGhz
cGVjLTAuMTAuMQogICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLXBsdWdneS0xLjAKICAg
ICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi1lZGl0YWJsZXMKICAgICAgICAgICAgICAgICAg
ICAgICAgIHB5dGhvbi1oYXRjaGxpbmcKICAgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi13
aGVlbAogICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLXB5dGVzdAogICAgICAgICAgICAg
ICAgICAgICAgICAgcHl0aG9uLXB5dGVzdC1pY2RpZmYpKQogICAgKGFyZ3VtZW50cwogICAgIGAo
IzpwaGFzZXMgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgICAgICAg
ICAoYWRkLWJlZm9yZSAnYnVpbGQgJ2Rpc2FibGUtYnJva2VuLXRlc3RzCiAgICAgICAgICAgICAg
ICAgICAgKGxhbWJkYSBfCiAgICAgICAgICAgICAgICAgICAgICA7OyBTa2lwIHRoZSB0ZXN0cyBm
b3IgImJ1aWxkaW5nIi4gR3VpeCBhbHJlYWR5IGRvZXMgdGhpcywKICAgICAgICAgICAgICAgICAg
ICAgIDs7IHNvIHdlIGRvbid0IG5lZWQgdG8gdGVzdCBpdCBmb3IgdGhpcyBwYWNrYWdlLgogICAg
ICAgICAgICAgICAgICAgICAgKGNoZGlyICJ0ZXN0cyIpCiAgICAgICAgICAgICAgICAgICAgICAo
aW52b2tlICJzZWQiICItaSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjExaXB5dGVz
dC5za2lwKCdObyBuZWVkIHRvIHRlc3RcCiBidWlsZGluZzsgZ3VpeCBkb2VzIHRoaXMgYWxyZWFk
eScsIGFsbG93X21vZHVsZV9sZXZlbD1UcnVlKSIKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInRlc3RfZW5kX3RvX2VuZC5weSIpCiAgICAgICAgICAgICAgICAgICAgICAoY2hkaXIgIi4u
LyIpKSkKICAgICAgICAgICAgICAgICAgOzsgWFhYOiBQRVAgNTE3IG1hbnVhbCBidWlsZC9pbnN0
YWxsIHByb2NlZHVyZXMgY29waWVkIGZyb20KICAgICAgICAgICAgICAgICAgOzsgcHl0aG9uLWlz
b3J0LgogICAgICAgICAgICAgICAgICAocmVwbGFjZSAnYnVpbGQKICAgICAgICAgICAgICAgICAg
ICAobGFtYmRhIF8KICAgICAgICAgICAgICAgICAgICAgIDs7IFpJUCBkb2VzIG5vdCBzdXBwb3J0
IHRpbWVzdGFtcHMgYmVmb3JlIDE5ODAuCiAgICAgICAgICAgICAgICAgICAgICAoc2V0ZW52ICJT
T1VSQ0VfREFURV9FUE9DSCIgIjMxNTUzMjgwMCIpCiAgICAgICAgICAgICAgICAgICAgICAoaW52
b2tlICJweXRob24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbSIKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImJ1aWxkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiLS13aGVlbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tbm8taXNvbGF0aW9u
IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLiIpKSkKICAgICAgICAgICAgICAgICAg
KHJlcGxhY2UgJ2luc3RhbGwKICAgICAgICAgICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgb3V0
cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAgICAgICAgICAobGV0ICgod2hs
IChjYXIgKGZpbmQtZmlsZXMgImRpc3QiICJcXC53aGwkIikpKSkKICAgICAgICAgICAgICAgICAg
ICAgICAgKGludm9rZSAicGlwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLW5v
LWNhY2hlLWRpciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1uby1pbnB1dCIK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5zdGFsbCIKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiLS1uby1kZXBzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICItLXByZWZpeCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXNzb2MtcmVm
ICVvdXRwdXRzICJvdXQiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdobCkpKSkK
ICAgICAgICAgICAgICAgICAgKHJlcGxhY2UgJ2NoZWNrCiAgICAgICAgICAgICAgICAgICAgKGxh
bWJkYSogKCM6a2V5IHRlc3RzPyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAgICAg
ICAgICAod2hlbiB0ZXN0cz8KICAgICAgICAgICAgICAgICAgICAgICAgKGludm9rZSAicHl0ZXN0
IiAiLXZ2IikpKSkpKSkKICAgIChob21lLXBhZ2UKICAgICAiaHR0cHM6Ly9naXRodWIuY29tL2h5
bmVrL2hhdGNoLWZhbmN5LXB5cGktcmVhZG1lIikKICAgIChzeW5vcHNpcyAiU3ludGF4IGZvciBz
dHlsaW5nIFB5UEkgUkVBRE1FcyIpCiAgICAoZGVzY3JpcHRpb24KICAgICAiRGVmaW5lcyBhIHN5
bnRheCBmb3IgdGhlIHB5dGhvbi1oYXRjaCBidWlsZCBzeXN0ZW0sIGludGVuZGVkIGZvciBzdHls
aW5nClJFQURNRXMgZm9yIFB5UEkuIikKICAgIDs7IE1JVCBMaWNlbnNlCiAgICAobGljZW5zZSBs
aWNlbnNlOmV4cGF0KSkpCgo7OyBIYXMgdG8gYmUgZG9uZSBtYW51YWxseS4gRE8gTk9UIGNvcHkg
YW5kIHBhc3RlIHRoaXMgb25lLgooZGVmaW5lLXB1YmxpYyBweXRob24tanNvbnNjaGVtYS00LjE1
CiAgKHBhY2thZ2UKICAgIChpbmhlcml0IHB5dGhvbi1qc29uc2NoZW1hLW5leHQpCiAgICAodmVy
c2lvbiAiNC4xNi4wIikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2Qg
dXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkgKHB5cGktdXJpICJqc29uc2NoZW1hIiB2ZXJz
aW9uKSkKICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIKICAgICAg
ICAgICAgICAgIDs7IFB5UEkgaGFzaGluZyBwcm9ibGVtCiAgICAgICAgICAgICAgICAiMDhzYnc1
Zm4xOXZuOHg3YzIxNmdrY3p5emQ1NzU3MDJ5eDJ2bXFkcmd4cGdmdnE1amwwbiIKICAgICAgICAg
ICAgICAgIDs7IjA3cHloOGc0Y3NhcGtmamdqd3c3dmt4d3ZoMXF3eHdxeHo4MndtMmIxa214ajY5
cmd4MTEiCiAgICAgICAgICAgICAgICApKSkpCiAgICAobmF0aXZlLWlucHV0cyAobGlzdCBweXRo
b24tcHlwYS1idWlsZAogICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLXR3aXN0ZWQKICAg
ICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi1oYXRjaAogICAgICAgICAgICAgICAgICAgICAg
ICAgcHl0aG9uLWhhdGNobGluZwogICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLXBhdGhz
cGVjLTAuMTAuMQogICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLXBsdWdneS0xLjAKICAg
ICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi1lZGl0YWJsZXMKICAgICAgICAgICAgICAgICAg
ICAgICAgIHB5dGhvbi1oYXRjaC12Y3MKICAgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi1z
ZXR1cHRvb2xzLXNjbS03CiAgICAgICAgICAgICAgICAgICAgICAgICBweXRob24taGF0Y2gtZmFu
Y3ktcHlwaS1yZWFkbWUpKQogICAgKHByb3BhZ2F0ZWQtaW5wdXRzIChsaXN0IHB5dGhvbi1hdHRy
cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi1pbXBvcnRsaWItbWV0YWRhdGEK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBweXRob24tcHlyc2lzdGVudAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB5dGhvbi10eXBpbmctZXh0ZW5zaW9ucwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB5dGhvbi1oYXRjaC12Y3MpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6
Ly9naXRodWIuY29tL3B5dGhvbi1qc29uc2NoZW1hL2pzb25zY2hlbWEiKSkpCgo7OzsgT0NhbWwK
OzsgUmVxdWlyZXMgcHl0aG9uLWpzb25zY2hlbWEgd2l0aCB2ZXJzaW9uIGF0IG1pbmltdW0gNC42
LjAgdG8gcnVuCjs7IHRlc3RzLiAKOzsgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9haHJlZnMvYXRk
L2lzc3Vlcy8zMDYgZm9yIG1vcmUgaW5mbyBvbiB0aGF0LgooZGVmaW5lLXB1YmxpYyBvY2FtbC1h
dGQKICAocGFja2FnZQogICAgKG5hbWUgIm9jYW1sLWF0ZCIpCiAgICAodmVyc2lvbiAiMi4xMC4w
IikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQog
ICAgICAgICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgICAgICAgICAodXJs
ICJodHRwczovL2dpdGh1Yi5jb20vYWhyZWZzL2F0ZCIpCiAgICAgICAgICAgICAgICAgICAgKGNv
bW1pdCB2ZXJzaW9uKSkpCiAgICAgICAgICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBu
YW1lIHZlcnNpb24pKQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgKGJhc2Uz
MgogICAgICAgICAgICAgICAgIjEwZmdhaGRpZ3JsMDFweTBrMHEyZDZhNjB5cHMzOHE5NmR4aGpu
em05ano0ZzkzMTcxNmwiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBkdW5lLWJ1aWxkLXN5c3RlbSkK
ICAgIChhcmd1bWVudHMKICAgICBgKCM6cGhhc2VzIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1w
aGFzZXMKICAgICAgICAgICAgICAgICAgKHJlcGxhY2UgJ2NoZWNrCiAgICAgICAgICAgICAgICAg
ICAgKGxhbWJkYSogKCM6a2V5IHRlc3RzPyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAg
ICAgICAgICAgICA7OyBUaGUgZHVuZS1idWlsZC1zeXN0ZW0gZG9lcyBub3QgcnVuICJtYWtlIHRl
c3QiIGJ1dAogICAgICAgICAgICAgICAgICAgICAgOzsgImR1bmUgcnVudGVzdCB0ZXN0IC0tcmVs
ZWFzZSIuCiAgICAgICAgICAgICAgICAgICAgICA7OyBUaGlzIHByb2plY3QsIHJhdGhlciwgbmVl
ZHMgdXMgdG8gcnVuICJtYWtlIHRlc3QiLgogICAgICAgICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgICAgICAgICAgIDs7IEZvciB0aGlzIHBhY2thZ2UgKG9jYW1sLWF0ZCksIHdlIERPIE5P
VCBydW4gYWxsIHRoZQogICAgICAgICAgICAgICAgICAgICAgOzsgdGVzdHMuIFRoZSBhdGQgcmVw
b3NpdG9yeSBoYXMgcmVzb3VyY2VzIGZvciBzZXZlcmFsCiAgICAgICAgICAgICAgICAgICAgICA7
OyBkaWZmZXJlbnQgaW50ZXJmYWNlcyAocHl0aG9uLCBzY2FsYSwgZXRjKSwgYnV0IHdlCiAgICAg
ICAgICAgICAgICAgICAgICA7OyBkb24ndCBuZWVkIHRvIHJ1biB0aG9zZSB0ZXN0cyBpZiB3ZSBh
cmUganVzdAogICAgICAgICAgICAgICAgICAgICAgOzsgaW50ZXJlc3RlZCBpbiB0aGUgb2NhbWwg
aW50ZXJmYWNlLgogICAgICAgICAgICAgICAgICAgICAgOzsgU28gd2Ugc3RpY2sgd2l0aCBqdXN0
IHRoZSBvY2FtbCB0ZXN0cyBoZXJlLgogICAgICAgICAgICAgICAgICAgICAgKHdoZW4gdGVzdHM/
CiAgICAgICAgICAgICAgICAgICAgICAgIChpbnZva2UgIm1ha2UiICJ0ZXN0LW9jYW1sIikpKSkp
KSkKICAgIChwcm9wYWdhdGVkLWlucHV0cyAobGlzdCBvY2FtbC1tZW5oaXIKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBvY2FtbC1lYXN5LWZvcm1hdAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG9jYW1sLW9kb2MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvY2FtbC1yZQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9jYW1sLWNhbWxwLXN0cmVhbXMKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBvY2FtbC1iaW5pb3UKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvY2FtbC15b2pzb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvY2FtbC1jbWRs
aW5lcikpCiAgICAobmF0aXZlLWlucHV0cyAobGlzdCBvY2FtbC1hbGNvdGVzdAogICAgICAgICAg
ICAgICAgICAgICAgICAgcHl0aG9uLXB5cGEtYnVpbGQKICAgICAgICAgICAgICAgICAgICAgICAg
IHB5dGhvbi1qc29uc2NoZW1hLTQuMTUKICAgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi1m
bGFrZTgKICAgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi1teXB5CiAgICAgICAgICAgICAg
ICAgICAgICAgICBweXRob24tcHl0ZXN0KSkKICAgIChpbnB1dHMgKGxpc3QgcHl0aG9uKSkKICAg
IChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9haHJlZnMvYXRkIikKICAgIChzeW5vcHNp
cyAiUGFyc2VyIGZvciB0aGUgQVREIGRhdGEgZm9ybWF0IGRlc2NyaXB0aW9uIGxhbmd1YWdlIikK
ICAgIChkZXNjcmlwdGlvbgogICAgICJBVEQgaXMgYW4gT0NhbWwgbGlicmFyeSBwcm92aWRpbmcg
YSBwYXJzZXIgZm9yIHRoZSBBZGp1c3RhYmxlIFR5cGUKRGVmaW5pdGlvbnMgbGFuZ3VhZ2UuIikK
ICAgIDs7IE1vZGlmaWVkIEJTRCBsaWNlbnNlCiAgICAobGljZW5zZSAobGljZW5zZTpub24tY29w
eWxlZnQgIkxJQ0VOU0UubWQiKSkpKQoKKGRlZmluZS1wdWJsaWMgb2NhbWwtZWxwaQogIChwYWNr
YWdlCiAgICAobmFtZSAib2NhbWwtZWxwaSIpCiAgICA7OyBGb3IgbW9yZSBpbmZvcm1hdGlvbiBv
biB3aGljaCB2ZXJzaW9uIHdvcmtzIHdpdGggQ29xIDguMTYsCiAgICA7OyBzZWUgdGhlIHJlbGV2
YW50IGlzc3VlOgogICAgOzsgaHR0cHM6Ly9naXRodWIuY29tL21hdGgtY29tcC9oaWVyYXJjaHkt
YnVpbGRlci9pc3N1ZXMvMjk3CiAgICA7OyBIZXJlIHdlIHVzZQogICAgOzsgY29xLWVscGkgMS4x
NS40ICsgb2NhbWwtZWxwaSAxLjE2LjUgKwogICAgOzsgY29xLW1hdGhjb21wLWhpZXJhcmNoeS1i
dWlsZGVyIDEuMy4wIChDb3EgOC4xNikuCiAgICA7OyAodmVyc2lvbiAiMS4xNS4yIikKICAgIDs7
KHZlcnNpb24gIjEuMTYuNSIpCiAgICAodmVyc2lvbiAiMS4xNi43IikKICAgIChzb3VyY2UgKG9y
aWdpbgogICAgICAgICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgICAgICAgICh1cmkg
KGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5j
b20vTFBDSUMvZWxwaSIpCiAgICAgICAgICAgICAgICAgICAgKGNvbW1pdCAoc3RyaW5nLWFwcGVu
ZCAidiIgdmVyc2lvbikpKSkKICAgICAgICAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1l
IG5hbWUgdmVyc2lvbikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFz
ZTMyCiAgICAgICAgICAgICAgICA7OyBmb3IgMS4xNi41CiAgICAgICAgICAgICAgICA7OyIxbDZn
cnBnbGt2eXlqMHAwMWwwcTVpaDEybHA0dml6YW1najdpNjNpZzgyZ3FweXprOWRsIgogICAgICAg
ICAgICAgICAgOzsgZm9yIHRoZSB2ZXJzaW9uIHRoYXQgdGhlIHBhdGNoIGlzIGJhc2VkIG9uICgx
LjE2LjcpCiAgICAgICAgICAgICAgICAiMWkwNzMxZjdqajQ4enZrbGE5NTlwZmZqNWwwcXlubWZ5
eGxqZ3N6YzZ6M2I0bHBuaTF4YyIpKQogICAgICAgICAgICAgIDs7IEZpeCBpbmNvbXBhdGliaWxp
dHkgd2l0aCBvY2FtbC15b2pzb25AMi4wLjIuCiAgICAgICAgICAgICAgOzsgU2VlIDxodHRwczov
L2dpdGh1Yi5jb20vTFBDSUMvZWxwaS9wdWxsLzE2Nz4uCiAgICAgICAgICAgICAgOzsocGF0Y2hl
cyAoc2VhcmNoLXBhdGNoZXMgIm9jYW1sLWVscGktZml4LXlvanNvbi5wYXRjaCIpKQogICAgICAg
ICAgICAgIChwYXRjaGVzICcoIi9ob21lL2NoaXBzL2hvbWUvY29kZS9ndWl4X3BhY2thZ2VzL2J1
aWx0L3BhdGNoZXMvb2NhbWwtZWxwaS1maXgteW9qc29uLnBhdGNoIikpCiAgICAgICAgICAgICAg
KSkKICAgIChidWlsZC1zeXN0ZW0gZHVuZS1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAg
ICAgYCgjOnRlc3QtdGFyZ2V0ICJ0ZXN0cyIpKQogICAgIDs7IEJ1aWxkIGN1cnJlbnRseSBmYWls
cyB3aXRoIGVycm9yIChyZXBlYXRlZCBzZXZlcmFsIHRpbWVzKToKICAgICA7OyAnV2FybmluZyA2
IFtsYWJlbHMtb21pdHRlZDogbGFiZWwgYXJnc2RlcHRoIHdhcyBvbWl0dGVkIGluIHRoZQogICAg
OzsgYXBwbGljYXRpb24gb2YgdGhpcyBmdW5jdGlvbi4nCiAgICAocHJvcGFnYXRlZC1pbnB1dHMg
KGxpc3Qgb2NhbWwtc3RkbGliLXNoaW1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Nh
bWwtcHB4bGliCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2NhbWwtbWVuaGlyCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb2NhbWwtcmUKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvY2FtbC1wcHgtZGVyaXZpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvY2Ft
bC1hdGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvY2FtbC1jYW1scC1zdHJlYW1zCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb2NhbWwtYmluaW91CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb2NhbWwteW9qc29uKSkKICAgIChuYXRpdmUtaW5wdXRzIChsaXN0IG9jYW1s
LWFuc2l0ZXJtaW5hbCBvY2FtbC1jbWRsaW5lciB0aW1lKSkKICAgIChob21lLXBhZ2UgImh0dHBz
Oi8vZ2l0aHViLmNvbS9MUENJQy9lbHBpIikKICAgIChzeW5vcHNpcyAiRUxQSSAtIEVtYmVkZGFi
bGUgzrtQcm9sb2cgSW50ZXJwcmV0ZXIiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIkVMUEkgaXMg
YW4gZXh0ZW5zaW9uIGxhbmd1YWdlIGZvciBPQ2FtbC4gIEl0IGltcGxlbWVudHMgYSB2YXJpYW50
IG9mCs67UHJvbG9nIGVucmljaGVkIHdpdGggQ29uc3RyYWludCBIYW5kbGluZyBSdWxlcywgYSBw
cm9ncmFtbWluZyBsYW5ndWFnZSBmb3IKbWFuaXB1bGF0aW5nIHN5bnRheCB0cmVlcyB3aXRoIGJp
bmRlcnMuCgpUaGlzIHBhY2thZ2UgcHJvdmlkZXMgYm90aCBhIGNvbW1hbmQgbGluZSBpbnRlcnBy
ZXRlciwgZWxwaSwgYW5kIGFuIE9DYW1sCmxpYnJhcnkgd2l0aCB0aGUgc2FtZSBuYW1lLiIpCiAg
ICAobGljZW5zZSBsaWNlbnNlOmxncGwyLjErKSkpCgo7OzsgQ29xCihkZWZpbmUtcHVibGljIGNv
cS1lbHBpCiAgKHBhY2thZ2UKICAgIChuYW1lICJjb3EtZWxwaSIpCiAgICAodmVyc2lvbiAiMS4x
Ni4wIikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2QgZ2l0LWZldGNo
KQogICAgICAgICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgICAgICAgICAo
dXJsICJodHRwczovL2dpdGh1Yi5jb20vTFBDSUMvY29xLWVscGkiKQogICAgICAgICAgICAgICAg
ICAgIChjb21taXQgKHN0cmluZy1hcHBlbmQgInYiIHZlcnNpb24pKSkpCiAgICAgICAgICAgICAg
KGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAgICAgICAgICAgIChz
aGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjE4dzg5OWZjejRr
eng3enlyN2EwZzRhdmNsYm01ZjgyZzdraDc2YjlmeTJzOTlqejZxNWMiKSkpKQogICAgOzsoYnVp
bGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCiAgICAoYnVpbGQtc3lzdGVtIG9jYW1sLWJ1aWxk
LXN5c3RlbSkKICAgIChwcm9wYWdhdGVkLWlucHV0cyAobGlzdCBjb3EtY29yZSkpCiAgICAoaW5w
dXRzIChsaXN0IHB5dGhvbiBsdWEtNS4xIG9jYW1sIG9jYW1sLWVscGkgb2NhbWwtemFyaXRoIGNv
cS1jb3JlCiAgICAgICAgICAgICAgICAgIGNvcS1zdGRsaWIgb2NhbWwtZmluZGxpYikpIAogICAg
KGFyZ3VtZW50cwogICAgIGAoIzp0ZXN0LXRhcmdldCAidGVzdCIKICAgICAgIDs7IEZyb20gdGhl
IHJlcG86ICJDT1FCSU49JXtiaW59JS8iICJFTFBJRElSPSV7cHJlZml4fSUvbGliL2VscGkiICJP
Q0FNTFdBUk49IgogICAgICAgIzptYWtlLWZsYWdzICwjfihsaXN0IChzdHJpbmctYXBwZW5kICJD
T1FCSU49IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMkKHRo
aXMtcGFja2FnZS1pbnB1dCAiY29xLWNvcmUiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICIvYmluLyIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0
cmluZy1hcHBlbmQgIkVMUElESVI9IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICMkKHRoaXMtcGFja2FnZS1pbnB1dCAib2NhbWwtZWxwaSIpCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9saWIvb2NhbWwvc2l0ZS1saWIvZWxw
aSIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9DQU1MV0FSTj0iKQogICAgICAgIzpw
aGFzZXMgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgICAgICAgICAo
ZGVsZXRlICdjb25maWd1cmUpCiAgICAgICAgICAgICAgICAgIChhZGQtYWZ0ZXIgJ2NoZWNrICdj
aGVjay1maW5kbGliLXBhdGgKICAgICAgICAgICAgICAgICAgICAobGFtYmRhIF8KICAgICAgICAg
ICAgICAgICAgICAgIChpbnZva2UgIm9jYW1sZmluZCIgInF1ZXJ5IiAiY29xLWVscGkiKSkpKSkp
CiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vTFBDSUMvY29xLWVscGkiKQogICAg
KHN5bm9wc2lzICJFbHBpIGV4dGVuc2lvbiBsYW5ndWFnZSBmb3IgQ29xIikKICAgIChkZXNjcmlw
dGlvbgogICAgICJDb3EtZWxwaSBwcm92aWRlcyBhIENvcSBwbHVnaW4gdGhhdCBlbWJlZHMgRUxQ
SSwgYW4gZXh0ZW5zaW9uIGxhbmd1YWdlCmZvciBPQ2FtbCB0aGF0IGlzIGFuIGltcGxlbWVudGF0
aW9uIG9mIM67UHJvbG9nLiAgSXQgYWxzbyBwcm92aWRlcyBhIHdheSB0bwplbWJlZCBDb3EncyB0
ZXJtcyBpbnRvIM67UHJvbG9nIHVzaW5nIHRoZSBIaWdoZXItT3JkZXIgQWJzdHJhY3QgU3ludGF4
IGFwcHJvYWNoCmFuZCBhIHdheSB0byByZWFkIHRlcm1zIGJhY2suICBJbiBhZGRpdGlvbiB0byB0
aGF0IGl0IGV4cG9ydHMgdG8gRUxQSSBhIHNldCBvZgpDb3EncyBwcmltaXRpdmVzLiAgRmluYWxs
eSBpdCBwcm92aWRlcyBhIHdheSB0byBkZWZpbmUgbmV3IHZlcm5hY3VsYXIgY29tbWFuZHMKYW5k
IG5ldyB0YWN0aWNzLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmxncGwyLjEpKSkKCihkZWZpbmUt
cHVibGljIGNvcS1tYXRoY29tcC1oaWVyYXJjaHktYnVpbGRlcgogIChwYWNrYWdlCiAgICAobmFt
ZSAiY29xLW1hdGhjb21wLWhpZXJhcmNoeS1idWlsZGVyIikKICAgIDs7IEZvciBtb3JlIGluZm9y
bWF0aW9uIG9uIHdoaWNoIHZlcnNpb24gd29ya3Mgd2l0aCBDb3EgOC4xNiwKICAgIDs7IHNlZSB0
aGUgcmVsZXZhbnQgaXNzdWU6CiAgICA7OyBodHRwczovL2dpdGh1Yi5jb20vbWF0aC1jb21wL2hp
ZXJhcmNoeS1idWlsZGVyL2lzc3Vlcy8yOTcKICAgIDs7IEhlcmUgd2UgdXNlCiAgICA7OyBjb3Et
ZWxwaSAxLjE1LjQgKyBvY2FtbC1lbHBpIDEuMTYuNSArCiAgICA7OyBjb3EtbWF0aGNvbXAtaGll
cmFyY2h5LWJ1aWxkZXIgMS4zLjAgKENvcSA4LjE2KQogICAgOzsodmVyc2lvbiAiMS4zLjAiKQog
ICAgKHZlcnNpb24gIjEuNC4wIikKICAgIChzb3VyY2UgKG9yaWdpbgogICAgICAgICAgICAgICht
ZXRob2QgZ2l0LWZldGNoKQogICAgICAgICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAg
ICAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vbWF0aC1jb21wL2hpZXJhcmNo
eS1idWlsZGVyIikKICAgICAgICAgICAgICAgICAgICAoY29tbWl0IChzdHJpbmctYXBwZW5kICJ2
IiB2ZXJzaW9uKSkpKQogICAgICAgICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFt
ZSB2ZXJzaW9uKSkKICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIK
ICAgICAgICAgICAgICAgIDs7IDEuMy4wCiAgICAgICAgICAgICAgICA7OyIxN2s3cmx4ZHg0M3Fk
YTZpMXlhZnBnYzY0bmE4YnIyODVjYjBtYnh5NXdyeWFmY2Rya3JjIgogICAgICAgICAgICAgICAg
OzsgMS40LjAKICAgICAgICAgICAgICAgICIxZzduYXJieDVuOGJibm5ubjhrbWdrNjJjbGFoOWZz
eTlqYjE1NHhjcjQxcDhwc3J2cnhsIikpKSkKICAgIDs7KGJ1aWxkLXN5c3RlbSBvY2FtbC1idWls
ZC1zeXN0ZW0pIDs7IGZhaWxzIGZvciBzYW1lIHJlYXNvbiBhcyBkdW5lLgogICAgKGJ1aWxkLXN5
c3RlbSBnbnUtYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIGAoIzptYWtlLWZsYWdz
ICwjfihsaXN0IDs7IChzdHJpbmctYXBwZW5kICJDT1FCSU49IgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDs7ICAgICAgICAgICAgICAgICMkKHRoaXMtcGFja2FnZS1pbnB1dCAiY29xLWNv
cmUiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7ICAgICAgICAgICAgICAgICIvYmlu
LyIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIkVMUElESVI9
IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMkKHRoaXMtcGFj
a2FnZS1pbnB1dCAiY29xLWVscGkiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICIvbGliL2NvcS91c2VyLWNvbnRyaWIvZWxwaS8iKQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICJDT1FMSUJJTlNUQUxMPSIKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXNzb2MtcmVmICVvdXRwdXRzICJvdXQi
KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvbGliL2NvcS91
c2VyLWNvbnRyaWIiKSkKICAgICAgICM6dGVzdC10YXJnZXQgInRlc3Qtc3VpdGUiCiAgICAgICAj
OnBoYXNlcyAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAgICAgICAg
IChkZWxldGUgJ2NvbmZpZ3VyZSkKICAgICAgICAgICAgICAgICAgKGFkZC1hZnRlciAnYnVpbGQg
J2ZhaWwtZmFzdAogICAgICAgICAgICAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAgICAg
ICAgICAgKGludm9rZSAic3R1ZmYiKSkpCiAgICAgICAgICAgICAgICAgICkpKQogICAgKGlucHV0
cyAobGlzdCBjb3EtY29yZQogICAgICAgICAgICAgICAgICBjb3Etc3RkbGliCiAgICAgICAgICAg
ICAgICAgIDs7IGNvcS1tYXRoY29tcAogICAgICAgICAgICAgICAgICB3aGljaAogICAgICAgICAg
ICAgICAgICBvY2FtbAogICAgICAgICAgICAgICAgICBjb3EtZWxwaQogICAgICAgICAgICAgICAg
ICA7O29jYW1sLWVscGkKICAgICAgICAgICAgICAgICAgKSkKICAgIChzeW5vcHNpcyAiSGllcmFy
Y2h5IHN0cnVjdHVyZXMgZm9yIHRoZSBDb3EgcHJvb2YgYXNzaXN0YW50IikKICAgIChkZXNjcmlw
dGlvbgogICAgICJIaWVyYXJjaHkgQnVpbGRlciAoSEIpIHByb3ZpZGVzIGhpZ2ggbGV2ZWwgY29t
bWFuZHMgdG8gZGVjbGFyZSBhCmhpZXJhcmNoeSBvZiBpbnRlcmZhY2VzIGZvciB0aGUgQ29xIHN5
c3RlbS4KCkdpdmVuIGEgc3RydWN0dXJlIG9uZSBjYW4gZGV2ZWxvcCBpdHMgdGhlb3J5LCBhbmQg
dGhhdCB0aGVvcnkgYmVjb21lcwphcHBsaWNhYmxlIHRvIGFsbCBleGFtcGxlcyBvZiB0aGUgc3Ry
dWN0dXJlLiAgT25lIGNhbiBhbHNvIGRlY2xhcmUgYWx0ZXJuYXRpdmUKaW50ZXJmYWNlcywgZm9y
IGNvbnZlbmllbmNlIG9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIGFuZCBwcm92aWRlIGdsdWUg
Y29kZQpsaW5raW5nIHRoZXNlIGludGVyZmFjZXMgdG8gdGhlIHN0cnVjdHVyZXMgcGFydCBvZiB0
aGUgaGllcmFyY2h5LiIpCiAgICAoaG9tZS1wYWdlICJodHRwczovL21hdGgtY29tcC5naXRodWIu
aW8vIikKICAgIDs7IE1JVCBsaWNlbnNlCiAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgoo
ZGVmaW5lLXB1YmxpYyBjb3EtbWF0aGNvbXAtYW5hbHlzaXMKICAocGFja2FnZQogICAgKG5hbWUg
ImNvcS1tYXRoY29tcC1hbmFseXNpcyIpCiAgICAodmVyc2lvbiAiMC41LjQiKQogICAgKHNvdXJj
ZSAob3JpZ2luCiAgICAgICAgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAgICAgICAg
KHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0
aHViLmNvbS9tYXRoLWNvbXAvYW5hbHlzaXMiKQogICAgICAgICAgICAgICAgICAgIChjb21taXQg
dmVyc2lvbikpKQogICAgICAgICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2
ZXJzaW9uKSkKICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIKICAg
ICAgICAgICAgICAgICIxbDF5YXhibXFyNGxpOHg3ZzUxcTk4YTZ2MzgzZG5mOTRsdzFiNzRjY3B3
cXo5cXliejltIikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKICAgIChh
cmd1bWVudHMKICAgICBgKCA7Tm8gcnVsZSB0byBtYWtlIHRhcmdldCAnY2hlY2snLiBTdG9wLgog
ICAgICAgOzsgTWFrZWZpbGUuY29tbW9uIGhhcyBubyByZWZlcmVuY2VzIHRvIHRlc3RzLgogICAg
ICAgOzsgVGhlcmUgYXJlIGFsc28gbm8gcmVmZXJlbmNlcyB0byB0ZXN0cyBmb3VuZCBhZnRlcgog
ICAgICAgOzsgcnVubmluZyB0aGUgZm9sbG93aW5nIGNvbW1hbmRzIGluIHRoZSB0b3AKICAgICAg
IDs7IGRpcmVjdG9yeSBvZiB0aGUgY2xvbmVkIHJlcG86CiAgICAgICA7OyBmaW5kIC10eXBlIGQg
fCBncmVwIC1pIHRlc3QKICAgICAgIDs7IHJnIHRlc3QgIyB3aGVyZSByZyBpcyByaXBncmVwCiAg
ICAgICA7OyBDaGVja2luZyB0aGUgZ2l0IGxvZywgd2UgZmluZDogIkFkZCB0ZXN0IHN1aXRlIGZv
cgogICAgICAgOzsgam9pbnMgYW5kIHNldmVyYWwgZml4ZXMiLgogICAgICAgOzsKICAgICAgIDs7
IElmIHRlc3RzIGFyZSBpbmNsdWRlZCwgdGhpcyBxdW90ZSBzdWdnZXN0cyB0aGF0IHRoZXkKICAg
ICAgIDs7IHdvdWxkIGJlIHBhcnQgb2YgdGhlIHNvdXJjZSBmaWxlcyB0aGVtc2VsdmVzLAogICAg
ICAgOzsgYW5kIHRoZSB0ZXN0cyB3b3VsZCBiZSBydW4gYXMgcGFydCBvZiB0aGUgYnVpbGQKICAg
ICAgIDs7IHByb2Nlc3MuCiAgICAgICAjOnRlc3RzPyAjZgogICAgICAgIzptYWtlLWZsYWdzICwj
fihsaXN0IChzdHJpbmctYXBwZW5kICJDT1FCSU49IgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICMkKHRoaXMtcGFja2FnZS1pbnB1dCAiY29xLWNvcmUiKQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvYmluLyIpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIkNPUUJJTklOU1RBTEw9IgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhc3NvYy1yZWYgJW91dHB1
dHMgIm91dCIpICIvYmluLyIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1h
cHBlbmQgIkRFU1RESVI9IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChhc3NvYy1yZWYgJW91dHB1dHMgIm91dCIpKQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChzdHJpbmctYXBwZW5kICJDT1FNRl9DT1FMSUI9IgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIChhc3NvYy1yZWYgJW91dHB1dHMgIm91dCIpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9saWIvb2NhbWwvc2l0ZS1saWIv
Y29xIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiQ09RTElC
SU5TVEFMTD0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFz
c29jLXJlZiAlb3V0cHV0cyAib3V0IikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiL2xpYi9jb3EvdXNlci1jb250cmliIikpCiAgICAgICAjOnBoYXNlcyAobW9k
aWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAgICAgICAgIChkZWxldGUgJ2Nv
bmZpZ3VyZSkKICAgICAgICAgICAgICAgICAgKHJlcGxhY2UgJ2J1aWxkCiAgICAgICAgICAgICAg
ICAgICAgKGxhbWJkYSogKCM6a2V5IG1ha2UtZmxhZ3MgIzphbGxvdy1vdGhlci1rZXlzKQogICAg
ICAgICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZSAibWFrZSIgImJ1aWxkIiBtYWtlLWZsYWdz
KSkpKSkpCiAgICAoaW5wdXRzIChsaXN0IGNvcQogICAgICAgICAgICAgICAgICBjb3Etc3RkbGli
CiAgICAgICAgICAgICAgICAgIGNvcS1tYXRoY29tcAogICAgICAgICAgICAgICAgICBjb3EtbWF0
aGNvbXAtZmlubWFwCiAgICAgICAgICAgICAgICAgIGNvcS1tYXRoY29tcC1oaWVyYXJjaHktYnVp
bGRlcgogICAgICAgICAgICAgICAgICBjb3EtZWxwaQogICAgICAgICAgICAgICAgICBjb3EtbWF0
aGNvbXAtYmlnZW5vdWdoCiAgICAgICAgICAgICAgICAgIGNvcS1jb3JlCiAgICAgICAgICAgICAg
ICAgIHdoaWNoKSkKICAgIChzeW5vcHNpcyAiUmVhbCBhbmFseXNpcyBmb3IgdGhlIENvcSBwcm9v
ZiBhc3Npc3RhbnQiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgcmVwb3NpdG9yeSBjb250
YWlucyBhbiBleHBlcmltZW50YWwgbGlicmFyeSBmb3IgcmVhbCBhbmFseXNpcyBmb3IKdGhlIENv
cSBwcm9vZi1hc3Npc3RhbnQsIHVzaW5nIHRoZSBNYXRoZW1hdGljYWwgQ29tcG9uZW50cyBsaWJy
YXJ5LiIpCiAgICAoaG9tZS1wYWdlICJodHRwczovL21hdGgtY29tcC5naXRodWIuaW8vIikKICAg
IChsaWNlbnNlIGxpY2Vuc2U6Y2VjaWxsLWMpKSkKCmNvcS1lbHBpCg==
--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: inline; filename=ocaml-elpi-fix-yojson.patch
Content-Transfer-Encoding: quoted-printable
From 998dc654e5acd66d5d0c8ebe79ed04dd424eb698 Mon Sep 17 00:00:00 2001
From: Julien Puydt <julien.puydt@HIDDEN>
Date: Mon, 24 Oct 2022 11:44:08 +0200
Subject: [PATCH 1/2] Fix for yojson 2.0.2
---
src/elpi_trace_elaborator.ml | 6 +-
tests/sources/broken_trace1.elab.json | 35691 ++++++++----------------
tests/sources/trace.elab.json | 3 +-
tests/sources/trace2.elab.json | 27 +-
tests/sources/trace_chr.elab.json | 90 +-
tests/sources/trace_findall.elab.json | 12 +-
6 files changed, 11944 insertions(+), 23885 deletions(-)
diff --git a/src/elpi_trace_elaborator.ml b/src/elpi_trace_elaborator.ml
index 6d3ac0e2..6c07209c 100644
--- a/src/elpi_trace_elaborator.ml
+++ b/src/elpi_trace_elaborator.ml
@@ -664,6 +664,6 @@ let main =3D
=20
let cards =3D Trace.cards steps ~stack_frames ~aggregated_goal_success ~=
goal_text ~goal_attempts in
=20
- let ob =3D Bi_outbuf.create_channel_writer stdout in
- write_trace ob cards;
- Bi_outbuf.flush_channel_writer ob
+ let buf =3D Buffer.create 1000 in
+ write_trace buf cards;
+ Buffer.output_buffer stdout buf
diff --git a/tests/sources/broken_trace1.elab.json b/tests/sources/broken_t=
race1.elab.json
index ed59855d..0daa61ab 100644
--- a/tests/sources/broken_trace1.elab.json
+++ b/tests/sources/broken_trace1.elab.json
@@ -5,8 +5,7 @@
"step": [
"Init",
{
- "goal_text":
- "attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\=
", line 1, column 2, character 3:)] =3D>\n main\n [const-decl _ \n (som=
e\n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), gl=
obal (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x=
` X0 c0 \\ c0])) (arity X1)]",
+ "goal_text": "attributes\n [attribute elpi.loc \n (leaf-loc File=
\"(stdin)\", line 1, column 2, character 3:)] =3D>\n main\n [const-decl _=
\n (some\n (app\n [global (const =C2=ABIsSelfA'.phant_Build=
=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=
=BB), fun `x` X0 c0 \\ c0])) (arity X1)]",
"goal_id": 1121
}
],
@@ -19,8 +18,7 @@
"Inference",
{
"current_goal_id": 1121,
- "current_goal_text":
- "attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\=
", line 1, column 2, character 3:)] =3D>\n main\n [const-decl _ \n (som=
e\n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), gl=
obal (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x=
` X0 c0 \\ c0])) (arity X1)]",
+ "current_goal_text": "attributes\n [attribute elpi.loc \n (leaf-=
loc File \"(stdin)\", line 1, column 2, character 3:)] =3D>\n main\n [cons=
t-decl _ \n (some\n (app\n [global (const =C2=ABIsSelfA'.pha=
nt_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=
=ABO=C2=BB), fun `x` X0 c0 \\ c0])) (arity X1)]",
"current_goal_predicate": "=3D>",
"failed_attempts": [],
"successful_attempts": [
@@ -31,8 +29,7 @@
},
"siblings": [
{
- "goal_text":
- "main\n [const-decl _ \n (some\n (app\n [glo=
bal (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB)=
, \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0])) (arity X1)]=
",
+ "goal_text": "main\n [const-decl _ \n (some\n (app\n=
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=
=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0])=
) (arity X1)]",
"goal_id": 1122
}
],
@@ -58,8 +55,7 @@
"Inference",
{
"current_goal_id": 1122,
- "current_goal_text":
- "main\n [const-decl _ \n (some\n (app\n [global (con=
st =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0])) (arity X1)]",
+ "current_goal_text": "main\n [const-decl _ \n (some\n (app\n=
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=
=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0])=
) (arity X1)]",
"current_goal_predicate": "main",
"failed_attempts": [],
"successful_attempts": [
@@ -68,8 +64,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-=
attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!)=
, \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -93,8 +88,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1123 },
{
- "goal_text":
- "with-attributes\n (with-logging\n (instance.declare-c=
onst _ \n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB)=
, global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun=
`x` X0 c0 \\ c0]) (arity X1) _))",
+ "goal_text": "with-attributes\n (with-logging\n (instanc=
e.declare-const _ \n (app\n [global (const =C2=ABIsSelfA'.phant_B=
uild=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=
=C2=BB), fun `x` X0 c0 \\ c0]) (arity X1) _))",
"goal_id": 1124
}
],
@@ -107,8 +101,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -143,13 +136,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "main\n [const-decl _ \n (some\n (app\n [globa=
l (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), =
\n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0])) (arity X1)]",
+ "goal_text": "main\n [const-decl _ \n (some\n (app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABn=
at=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0])) (a=
rity X1)]",
"goal_id": 1122
},
"cut_branch": {
- "rule_text":
- "(main [A0, A1]) :- (!), \n (coq.warning HB HB.deprecated =
\n The syntax \"HB.instance Key FactoryInstance\" is deprecated, use \"HB=
.instance Definition\" instead), \n (with-attributes (with-logging (instanc=
e.declare-existing A0 A1))).",
+ "rule_text": "(main [A0, A1]) :- (!), \n (coq.warning HB HB.=
deprecated \n The syntax \"HB.instance Key FactoryInstance\" is deprecate=
d, use \"HB.instance Definition\" instead), \n (with-attributes (with-loggi=
ng (instance.declare-existing A0 A1))).",
"rule_loc": [
"File",
{
@@ -163,13 +154,11 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "main\n [const-decl _ \n (some\n (app\n [globa=
l (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), =
\n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0])) (arity X1)]",
+ "goal_text": "main\n [const-decl _ \n (some\n (app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABn=
at=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0])) (a=
rity X1)]",
"goal_id": 1122
},
"cut_branch": {
- "rule_text":
- "(main _) :- (coq.error\n Usage: HB.instance =
Definition <Name> :=3D <Builder> T ...).",
+ "rule_text": "(main _) :- (coq.error\n Usage: H=
B.instance Definition <Name> :=3D <Builder> T ...).",
"rule_loc": [
"File",
{
@@ -193,8 +182,7 @@
"Inference",
{
"current_goal_id": 1124,
- "current_goal_text":
- "with-attributes\n (with-logging\n (instance.declare-const _ \=
n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global=
(indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 =
c0 \\ c0]) (arity X1) _))",
+ "current_goal_text": "with-attributes\n (with-logging\n (instanc=
e.declare-const _ \n (app\n [global (const =C2=ABIsSelfA'.phant_B=
uild=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=
=C2=BB), fun `x` X0 c0 \\ c0]) (arity X1) _))",
"current_goal_predicate": "with-attributes",
"failed_attempts": [],
"successful_attempts": [
@@ -203,13 +191,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \=
\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n=
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n=
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 =
:-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (s=
upported-attribute (att c8 string) :- !)) =3D>\n parse=
-attributes.aux c1 c6) \n (std.append c5 [get-option c7=
c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbos=
e bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type=
string, att short.pack string, att infer attmap, \n att key string, at=
t arg_sort bool, att log bool, att log.raw bool, \n att compress_coerci=
ons bool, att export bool, att skip string, \n att local bool, att fail=
bool, att doc string, \n att primitive_class bool, att primitive bool,=
\n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \=
n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (=
pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) |=
c2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ .=
^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (p=
i (c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [ge=
t-option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n =
[att verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att=
short.type string, att short.pack string, att infer attmap, \n att key=
string, att arg_sort bool, att log bool, att log.raw bool, \n att comp=
ress_coercions bool, att export bool, att skip string, \n att local boo=
l, att fail bool, att doc string, \n att primitive_class bool, att prim=
itive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (=
!), \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
utils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -227,14 +213,12 @@
"siblings": [
{ "goal_text": "attributes X2", "goal_id": 1125 },
{
- "goal_text":
- "pi c0 \\\n pi c1 \\\n pi c2 \\\n pi c3 \\\n pi c4=
\\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n parse-attribut=
es.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 =3D ) (c7=
=3D c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attm=
ap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi c8 \\ =
supported-attribute (att c8 string) :- ! =3D>\n parse-attributes=
.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4) =3D>\n coq.p=
arse-attributes X2 \n [att verbose bool, att mathcomp bool, att mathcomp.a=
xiom string, \n att short.type string, att short.pack string, att infer a=
ttmap, \n att key string, att arg_sort bool, att log bool, att log.raw bo=
ol, \n att compress_coercions bool, att export bool, att skip string, \n =
att local bool, att fail bool, att doc string, att primitive_class bool, =
\n att primitive bool, att non_forgetful_inheritance bool, att hnf bool] =
X3",
+ "goal_text": "pi c0 \\\n pi c1 \\\n pi c2 \\\n pi c3 \\=
\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n par=
se-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c=
3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (=
att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n =
(pi c8 \\ supported-attribute (att c8 string) :- ! =3D>\n parse=
-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4) =
=3D>\n coq.parse-attributes X2 \n [att verbose bool, att mathcomp bool, at=
t mathcomp.axiom string, \n att short.type string, att short.pack string,=
att infer attmap, \n att key string, att arg_sort bool, att log bool, at=
t log.raw bool, \n att compress_coercions bool, att export bool, att skip=
string, \n att local bool, att fail bool, att doc string, att primitive_=
class bool, \n att primitive bool, att non_forgetful_inheritance bool, at=
t hnf bool] X3",
"goal_id": 1126
},
{ "goal_text": "!", "goal_id": 1127 },
{
- "goal_text":
- "X3 =3D>\n (save-docstring ,\n with-logging\n (inst=
ance.declare-const _ \n (app\n [global (const =C2=ABIsSelfA'.ph=
ant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =
=C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (arity X1) _))",
+ "goal_text": "X3 =3D>\n (save-docstring ,\n with-logging=
\n (instance.declare-const _ \n (app\n [global (const =C2=AB=
IsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n glob=
al (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (arity X1) _))",
"goal_id": 1128
}
],
@@ -247,13 +231,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -268,8 +250,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -310,8 +291,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(attributes\n [attribute elpi.loc \n (leaf-loc Fi=
le \"(stdin)\", line 1, column 2, character 3:)]) :- .",
+ "rule_text": "(attributes\n [attribute elpi.loc \n (=
leaf-loc File \"(stdin)\", line 1, column 2, character 3:)]) :- .",
"rule_loc": [ "Context", 1 ]
}
],
@@ -332,8 +312,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(attributes\n [attribute elpi.loc \n (leaf-loc File=
\"(stdin)\", line 1, column 2, character 3:)]) :- .",
+ "rule_text": "(attributes\n [attribute elpi.loc \n (le=
af-loc File \"(stdin)\", line 1, column 2, character 3:)]) :- .",
"rule_loc": [ "Context", 1 ]
}
],
@@ -344,13 +323,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -365,8 +342,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -398,8 +374,7 @@
"Inference",
{
"current_goal_id": 1126,
- "current_goal_text":
- "pi c0 \\\n pi c1 \\\n pi c2 \\\n pi c3 \\\n pi c4 \\\n =
pi c5 \\\n pi c6 \\\n pi c7 \\\n parse-attributes.aux [=
attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0)=
(c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!)=
\n (parse-attributes.aux c2 c3 c5) \n (pi c8 \\ supporte=
d-attribute (att c8 string) :- ! =3D>\n parse-attributes.aux c1 =
c6) \n (std.append c5 [get-option c7 c6] c4) =3D>\n coq.parse-att=
ributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, co=
lumn 2, character 3:)] \n [att verbose bool, att mathcomp bool, att mathco=
mp.axiom string, \n att short.type string, att short.pack string, att inf=
er attmap, \n att key string, att arg_sort bool, att log bool, att log.ra=
w bool, \n att compress_coercions bool, att export bool, att skip string,=
\n att local bool, att fail bool, att doc string, att primitive_class bo=
ol, \n att primitive bool, att non_forgetful_inheritance bool, att hnf bo=
ol] X3",
+ "current_goal_text": "pi c0 \\\n pi c1 \\\n pi c2 \\\n pi c3 \\=
\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n par=
se-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c=
3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (=
att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n =
(pi c8 \\ supported-attribute (att c8 string) :- ! =3D>\n parse=
-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4) =
=3D>\n coq.parse-attributes\n [attribute elpi.loc \n (leaf-loc File \"(=
stdin)\", line 1, column 2, character 3:)] \n [att verbose bool, att mathc=
omp bool, att mathcomp.axiom string, \n att short.type string, att short.=
pack string, att infer attmap, \n att key string, att arg_sort bool, att =
log bool, att log.raw bool, \n att compress_coercions bool, att export bo=
ol, att skip string, \n att local bool, att fail bool, att doc string, at=
t primitive_class bool, \n att primitive bool, att non_forgetful_inherita=
nce bool, att hnf bool] X3",
"current_goal_predicate": "=3D>",
"failed_attempts": [],
"successful_attempts": [
@@ -410,8 +385,7 @@
},
"siblings": [
{
- "goal_text":
- "coq.parse-attributes\n [attribute elpi.loc \n (leaf-l=
oc File \"(stdin)\", line 1, column 2, character 3:)] \n [att verbose bool,=
att mathcomp bool, att mathcomp.axiom string, \n att short.type string, a=
tt short.pack string, att infer attmap, \n att key string, att arg_sort bo=
ol, att log bool, att log.raw bool, \n att compress_coercions bool, att ex=
port bool, att skip string, \n att local bool, att fail bool, att doc stri=
ng, att primitive_class bool, \n att primitive bool, att non_forgetful_inh=
eritance bool, att hnf bool] X3",
+ "goal_text": "coq.parse-attributes\n [attribute elpi.loc \=
n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] \n [att ve=
rbose bool, att mathcomp bool, att mathcomp.axiom string, \n att short.typ=
e string, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercions b=
ool, att export bool, att skip string, \n att local bool, att fail bool, a=
tt doc string, att primitive_class bool, \n att primitive bool, att non_fo=
rgetful_inheritance bool, att hnf bool] X3",
"goal_id": 1129
}
],
@@ -429,13 +403,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -450,8 +422,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -483,8 +454,7 @@
"Inference",
{
"current_goal_id": 1129,
- "current_goal_text":
- "coq.parse-attributes\n [attribute elpi.loc \n (leaf-loc File =
\"(stdin)\", line 1, column 2, character 3:)] \n [att verbose bool, att mat=
hcomp bool, att mathcomp.axiom string, \n att short.type string, att short=
.pack string, att infer attmap, \n att key string, att arg_sort bool, att =
log bool, att log.raw bool, \n att compress_coercions bool, att export boo=
l, att skip string, \n att local bool, att fail bool, att doc string, att =
primitive_class bool, \n att primitive bool, att non_forgetful_inheritance=
bool, att hnf bool] X3",
+ "current_goal_text": "coq.parse-attributes\n [attribute elpi.loc \=
n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] \n [att ve=
rbose bool, att mathcomp bool, att mathcomp.axiom string, \n att short.typ=
e string, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercions b=
ool, att export bool, att skip string, \n att local bool, att fail bool, a=
tt doc string, att primitive_class bool, \n att primitive bool, att non_fo=
rgetful_inheritance bool, att hnf bool] X3",
"current_goal_predicate": "coq.parse-attributes",
"failed_attempts": [],
"successful_attempts": [
@@ -493,8 +463,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\=
(c1 \\\n (c1 =3D supported-attribute c=
0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.ma=
p A1 (c0 \\ (c1 \\\n (c1 =3D supported-=
attribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -520,13 +489,11 @@
},
"siblings": [
{
- "goal_text":
- "std.map\n [att verbose bool, att mathcomp bool, att mat=
hcomp.axiom string, \n att short.type string, att short.pack string, att i=
nfer attmap, \n att key string, att arg_sort bool, att log bool, att log.r=
aw bool, \n att compress_coercions bool, att export bool, att skip string,=
\n att local bool, att fail bool, att doc string, att primitive_class boo=
l, \n att primitive bool, att non_forgetful_inheritance bool, att hnf bool=
] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X4",
+ "goal_text": "std.map\n [att verbose bool, att mathcomp bo=
ol, att mathcomp.axiom string, \n att short.type string, att short.pack st=
ring, att infer attmap, \n att key string, att arg_sort bool, att log bool=
, att log.raw bool, \n att compress_coercions bool, att export bool, att s=
kip string, \n att local bool, att fail bool, att doc string, att primitiv=
e_class bool, \n att primitive bool, att non_forgetful_inheritance bool, a=
tt hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X4",
"goal_id": 1130
},
{
- "goal_text":
- "X4 =3D>\n parse-attributes.aux\n [attribute elpi.loc \=
n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3",
+ "goal_text": "X4 =3D>\n parse-attributes.aux\n [attribute=
elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)=
] X3",
"goal_id": 1131
},
{ "goal_text": "!", "goal_id": 1132 }
@@ -540,8 +507,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -565,13 +531,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -586,8 +550,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -619,8 +582,7 @@
"Inference",
{
"current_goal_id": 1130,
- "current_goal_text":
- "std.map\n [att verbose bool, att mathcomp bool, att mathcomp.ax=
iom string, \n att short.type string, att short.pack string, att infer att=
map, \n att key string, att arg_sort bool, att log bool, att log.raw bool,=
\n att compress_coercions bool, att export bool, att skip string, \n att=
local bool, att fail bool, att doc string, att primitive_class bool, \n a=
tt primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \\=
\n c1 \\ c1 =3D supported-attribute c0) X4",
+ "current_goal_text": "std.map\n [att verbose bool, att mathcomp bo=
ol, att mathcomp.axiom string, \n att short.type string, att short.pack st=
ring, att infer attmap, \n att key string, att arg_sort bool, att log bool=
, att log.raw bool, \n att compress_coercions bool, att export bool, att s=
kip string, \n att local bool, att fail bool, att doc string, att primitiv=
e_class bool, \n att primitive bool, att non_forgetful_inheritance bool, a=
tt hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X4",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -629,8 +591,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -660,8 +621,7 @@
"goal_id": 1133
},
{
- "goal_text":
- "std.map\n [att mathcomp bool, att mathcomp.axiom string=
, att short.type string, \n att short.pack string, att infer attmap, att k=
ey string, \n att arg_sort bool, att log bool, att log.raw bool, \n att c=
ompress_coercions bool, att export bool, att skip string, \n att local boo=
l, att fail bool, att doc string, att primitive_class bool, \n att primiti=
ve bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c=
1 =3D supported-attribute c0) X6",
+ "goal_text": "std.map\n [att mathcomp bool, att mathcomp.a=
xiom string, att short.type string, \n att short.pack string, att infer at=
tmap, att key string, \n att arg_sort bool, att log bool, att log.raw bool=
, \n att compress_coercions bool, att export bool, att skip string, \n at=
t local bool, att fail bool, att doc string, att primitive_class bool, \n =
att primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \=
\\n c1 \\ c1 =3D supported-attribute c0) X6",
"goal_id": 1134
}
],
@@ -674,8 +634,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -694,8 +653,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -719,13 +677,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -740,8 +696,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -799,8 +754,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -819,8 +773,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -844,13 +797,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -865,8 +816,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -898,8 +848,7 @@
"Inference",
{
"current_goal_id": 1134,
- "current_goal_text":
- "std.map\n [att mathcomp bool, att mathcomp.axiom string, att sh=
ort.type string, \n att short.pack string, att infer attmap, att key strin=
g, \n att arg_sort bool, att log bool, att log.raw bool, \n att compress_=
coercions bool, att export bool, att skip string, \n att local bool, att f=
ail bool, att doc string, att primitive_class bool, \n att primitive bool,=
att non_forgetful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D su=
pported-attribute c0) X6",
+ "current_goal_text": "std.map\n [att mathcomp bool, att mathcomp.a=
xiom string, att short.type string, \n att short.pack string, att infer at=
tmap, att key string, \n att arg_sort bool, att log bool, att log.raw bool=
, \n att compress_coercions bool, att export bool, att skip string, \n at=
t local bool, att fail bool, att doc string, att primitive_class bool, \n =
att primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \=
\\n c1 \\ c1 =3D supported-attribute c0) X6",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -908,8 +857,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -939,8 +887,7 @@
"goal_id": 1135
},
{
- "goal_text":
- "std.map\n [att mathcomp.axiom string, att short.type st=
ring, att short.pack string, \n att infer attmap, att key string, att arg_=
sort bool, att log bool, \n att log.raw bool, att compress_coercions bool,=
att export bool, \n att skip string, att local bool, att fail bool, att d=
oc string, \n att primitive_class bool, att primitive bool, \n att non_fo=
rgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D supported-att=
ribute c0) X8",
+ "goal_text": "std.map\n [att mathcomp.axiom string, att sh=
ort.type string, att short.pack string, \n att infer attmap, att key strin=
g, att arg_sort bool, att log bool, \n att log.raw bool, att compress_coer=
cions bool, att export bool, \n att skip string, att local bool, att fail =
bool, att doc string, \n att primitive_class bool, att primitive bool, \n =
att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D su=
pported-attribute c0) X8",
"goal_id": 1136
}
],
@@ -953,8 +900,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -973,8 +919,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -993,8 +938,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -1018,13 +962,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -1039,8 +981,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -1098,8 +1039,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1118,8 +1058,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1138,8 +1077,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -1163,13 +1101,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -1184,8 +1120,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -1217,8 +1152,7 @@
"Inference",
{
"current_goal_id": 1136,
- "current_goal_text":
- "std.map\n [att mathcomp.axiom string, att short.type string, at=
t short.pack string, \n att infer attmap, att key string, att arg_sort boo=
l, att log bool, \n att log.raw bool, att compress_coercions bool, att exp=
ort bool, \n att skip string, att local bool, att fail bool, att doc strin=
g, \n att primitive_class bool, att primitive bool, \n att non_forgetful_=
inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D supported-attribute c=
0) X8",
+ "current_goal_text": "std.map\n [att mathcomp.axiom string, att sh=
ort.type string, att short.pack string, \n att infer attmap, att key strin=
g, att arg_sort bool, att log bool, \n att log.raw bool, att compress_coer=
cions bool, att export bool, \n att skip string, att local bool, att fail =
bool, att doc string, \n att primitive_class bool, att primitive bool, \n =
att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D su=
pported-attribute c0) X8",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -1227,8 +1161,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1254,13 +1187,11 @@
},
"siblings": [
{
- "goal_text":
- "X9 =3D supported-attribute (att mathcomp.axiom string)",
+ "goal_text": "X9 =3D supported-attribute (att mathcomp.axi=
om string)",
"goal_id": 1137
},
{
- "goal_text":
- "std.map\n [att short.type string, att short.pack string=
, att infer attmap, \n att key string, att arg_sort bool, att log bool, at=
t log.raw bool, \n att compress_coercions bool, att export bool, att skip =
string, \n att local bool, att fail bool, att doc string, att primitive_cl=
ass bool, \n att primitive bool, att non_forgetful_inheritance bool, att h=
nf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X10",
+ "goal_text": "std.map\n [att short.type string, att short.=
pack string, att infer attmap, \n att key string, att arg_sort bool, att l=
og bool, att log.raw bool, \n att compress_coercions bool, att export bool=
, att skip string, \n att local bool, att fail bool, att doc string, att p=
rimitive_class bool, \n att primitive bool, att non_forgetful_inheritance =
bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X10",
"goal_id": 1138
}
],
@@ -1273,8 +1204,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1293,8 +1223,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1313,8 +1242,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1333,8 +1261,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -1358,13 +1285,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -1379,8 +1304,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -1412,8 +1336,7 @@
"Inference",
{
"current_goal_id": 1137,
- "current_goal_text":
- "X9 =3D supported-attribute (att mathcomp.axiom string)",
+ "current_goal_text": "X9 =3D supported-attribute (att mathcomp.axi=
om string)",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -1442,8 +1365,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1462,8 +1384,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1482,8 +1403,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1502,8 +1422,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -1527,13 +1446,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -1548,8 +1465,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -1581,8 +1497,7 @@
"Inference",
{
"current_goal_id": 1138,
- "current_goal_text":
- "std.map\n [att short.type string, att short.pack string, att in=
fer attmap, \n att key string, att arg_sort bool, att log bool, att log.ra=
w bool, \n att compress_coercions bool, att export bool, att skip string, =
\n att local bool, att fail bool, att doc string, att primitive_class bool=
, \n att primitive bool, att non_forgetful_inheritance bool, att hnf bool]=
(c0 \\\n c1 \\ c1 =3D supported-attribute c0) X10",
+ "current_goal_text": "std.map\n [att short.type string, att short.=
pack string, att infer attmap, \n att key string, att arg_sort bool, att l=
og bool, att log.raw bool, \n att compress_coercions bool, att export bool=
, att skip string, \n att local bool, att fail bool, att doc string, att p=
rimitive_class bool, \n att primitive bool, att non_forgetful_inheritance =
bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X10",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -1591,8 +1506,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1618,13 +1532,11 @@
},
"siblings": [
{
- "goal_text":
- "X11 =3D supported-attribute (att short.type string)",
+ "goal_text": "X11 =3D supported-attribute (att short.type =
string)",
"goal_id": 1139
},
{
- "goal_text":
- "std.map\n [att short.pack string, att infer attmap, att=
key string, \n att arg_sort bool, att log bool, att log.raw bool, \n att=
compress_coercions bool, att export bool, att skip string, \n att local b=
ool, att fail bool, att doc string, att primitive_class bool, \n att primi=
tive bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \\\n c1 \\=
c1 =3D supported-attribute c0) X12",
+ "goal_text": "std.map\n [att short.pack string, att infer =
attmap, att key string, \n att arg_sort bool, att log bool, att log.raw bo=
ol, \n att compress_coercions bool, att export bool, att skip string, \n =
att local bool, att fail bool, att doc string, att primitive_class bool, \n=
att primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0=
\\\n c1 \\ c1 =3D supported-attribute c0) X12",
"goal_id": 1140
}
],
@@ -1637,8 +1549,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1657,8 +1568,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1677,8 +1587,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1697,8 +1606,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1717,8 +1625,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -1742,13 +1649,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -1763,8 +1668,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -1796,8 +1700,7 @@
"Inference",
{
"current_goal_id": 1139,
- "current_goal_text":
- "X11 =3D supported-attribute (att short.type string)",
+ "current_goal_text": "X11 =3D supported-attribute (att short.type =
string)",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -1826,8 +1729,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1846,8 +1748,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1866,8 +1767,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1886,8 +1786,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -1906,8 +1805,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -1931,13 +1829,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -1952,8 +1848,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -1985,8 +1880,7 @@
"Inference",
{
"current_goal_id": 1140,
- "current_goal_text":
- "std.map\n [att short.pack string, att infer attmap, att key str=
ing, \n att arg_sort bool, att log bool, att log.raw bool, \n att compres=
s_coercions bool, att export bool, att skip string, \n att local bool, att=
fail bool, att doc string, att primitive_class bool, \n att primitive boo=
l, att non_forgetful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D =
supported-attribute c0) X12",
+ "current_goal_text": "std.map\n [att short.pack string, att infer =
attmap, att key string, \n att arg_sort bool, att log bool, att log.raw bo=
ol, \n att compress_coercions bool, att export bool, att skip string, \n =
att local bool, att fail bool, att doc string, att primitive_class bool, \n=
att primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0=
\\\n c1 \\ c1 =3D supported-attribute c0) X12",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -1995,8 +1889,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2022,13 +1915,11 @@
},
"siblings": [
{
- "goal_text":
- "X13 =3D supported-attribute (att short.pack string)",
+ "goal_text": "X13 =3D supported-attribute (att short.pack =
string)",
"goal_id": 1141
},
{
- "goal_text":
- "std.map\n [att infer attmap, att key string, att arg_so=
rt bool, att log bool, \n att log.raw bool, att compress_coercions bool, a=
tt export bool, \n att skip string, att local bool, att fail bool, att doc=
string, \n att primitive_class bool, att primitive bool, \n att non_forg=
etful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D supported-attri=
bute c0) X14",
+ "goal_text": "std.map\n [att infer attmap, att key string,=
att arg_sort bool, att log bool, \n att log.raw bool, att compress_coerci=
ons bool, att export bool, \n att skip string, att local bool, att fail bo=
ol, att doc string, \n att primitive_class bool, att primitive bool, \n a=
tt non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D supp=
orted-attribute c0) X14",
"goal_id": 1142
}
],
@@ -2041,8 +1932,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2061,8 +1951,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2081,8 +1970,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2101,8 +1989,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2121,8 +2008,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2141,8 +2027,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -2166,13 +2051,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -2187,8 +2070,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -2220,8 +2102,7 @@
"Inference",
{
"current_goal_id": 1141,
- "current_goal_text":
- "X13 =3D supported-attribute (att short.pack string)",
+ "current_goal_text": "X13 =3D supported-attribute (att short.pack =
string)",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -2250,8 +2131,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2270,8 +2150,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2290,8 +2169,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2310,8 +2188,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2330,8 +2207,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2350,8 +2226,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -2375,13 +2250,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -2396,8 +2269,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -2429,8 +2301,7 @@
"Inference",
{
"current_goal_id": 1142,
- "current_goal_text":
- "std.map\n [att infer attmap, att key string, att arg_sort bool,=
att log bool, \n att log.raw bool, att compress_coercions bool, att expor=
t bool, \n att skip string, att local bool, att fail bool, att doc string,=
\n att primitive_class bool, att primitive bool, \n att non_forgetful_in=
heritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D supported-attribute c0)=
X14",
+ "current_goal_text": "std.map\n [att infer attmap, att key string,=
att arg_sort bool, att log bool, \n att log.raw bool, att compress_coerci=
ons bool, att export bool, \n att skip string, att local bool, att fail bo=
ol, att doc string, \n att primitive_class bool, att primitive bool, \n a=
tt non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D supp=
orted-attribute c0) X14",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -2439,8 +2310,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2470,8 +2340,7 @@
"goal_id": 1143
},
{
- "goal_text":
- "std.map\n [att key string, att arg_sort bool, att log b=
ool, att log.raw bool, \n att compress_coercions bool, att export bool, at=
t skip string, \n att local bool, att fail bool, att doc string, att primi=
tive_class bool, \n att primitive bool, att non_forgetful_inheritance bool=
, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X16",
+ "goal_text": "std.map\n [att key string, att arg_sort bool=
, att log bool, att log.raw bool, \n att compress_coercions bool, att expo=
rt bool, att skip string, \n att local bool, att fail bool, att doc string=
, att primitive_class bool, \n att primitive bool, att non_forgetful_inher=
itance bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X1=
6",
"goal_id": 1144
}
],
@@ -2484,8 +2353,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2504,8 +2372,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2524,8 +2391,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2544,8 +2410,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2564,8 +2429,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2584,8 +2448,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2604,8 +2467,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -2629,13 +2491,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -2650,8 +2510,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -2709,8 +2568,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2729,8 +2587,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2749,8 +2606,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2769,8 +2625,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2789,8 +2644,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2809,8 +2663,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2829,8 +2682,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -2854,13 +2706,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -2875,8 +2725,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -2908,8 +2757,7 @@
"Inference",
{
"current_goal_id": 1144,
- "current_goal_text":
- "std.map\n [att key string, att arg_sort bool, att log bool, att=
log.raw bool, \n att compress_coercions bool, att export bool, att skip s=
tring, \n att local bool, att fail bool, att doc string, att primitive_cla=
ss bool, \n att primitive bool, att non_forgetful_inheritance bool, att hn=
f bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X16",
+ "current_goal_text": "std.map\n [att key string, att arg_sort bool=
, att log bool, att log.raw bool, \n att compress_coercions bool, att expo=
rt bool, att skip string, \n att local bool, att fail bool, att doc string=
, att primitive_class bool, \n att primitive bool, att non_forgetful_inher=
itance bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X1=
6",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -2918,8 +2766,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2949,8 +2796,7 @@
"goal_id": 1145
},
{
- "goal_text":
- "std.map\n [att arg_sort bool, att log bool, att log.raw=
bool, \n att compress_coercions bool, att export bool, att skip string, \=
n att local bool, att fail bool, att doc string, att primitive_class bool,=
\n att primitive bool, att non_forgetful_inheritance bool, att hnf bool] =
(c0 \\\n c1 \\ c1 =3D supported-attribute c0) X18",
+ "goal_text": "std.map\n [att arg_sort bool, att log bool, =
att log.raw bool, \n att compress_coercions bool, att export bool, att ski=
p string, \n att local bool, att fail bool, att doc string, att primitive_=
class bool, \n att primitive bool, att non_forgetful_inheritance bool, att=
hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X18",
"goal_id": 1146
}
],
@@ -2963,8 +2809,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -2983,8 +2828,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3003,8 +2847,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3023,8 +2866,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3043,8 +2885,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3063,8 +2904,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3083,8 +2923,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3103,8 +2942,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -3128,13 +2966,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -3149,8 +2985,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -3208,8 +3043,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3228,8 +3062,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3248,8 +3081,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3268,8 +3100,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3288,8 +3119,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3308,8 +3138,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3328,8 +3157,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3348,8 +3176,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -3373,13 +3200,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -3394,8 +3219,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -3427,8 +3251,7 @@
"Inference",
{
"current_goal_id": 1146,
- "current_goal_text":
- "std.map\n [att arg_sort bool, att log bool, att log.raw bool, \=
n att compress_coercions bool, att export bool, att skip string, \n att l=
ocal bool, att fail bool, att doc string, att primitive_class bool, \n att=
primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \\\n=
c1 \\ c1 =3D supported-attribute c0) X18",
+ "current_goal_text": "std.map\n [att arg_sort bool, att log bool, =
att log.raw bool, \n att compress_coercions bool, att export bool, att ski=
p string, \n att local bool, att fail bool, att doc string, att primitive_=
class bool, \n att primitive bool, att non_forgetful_inheritance bool, att=
hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X18",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -3437,8 +3260,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3468,8 +3290,7 @@
"goal_id": 1147
},
{
- "goal_text":
- "std.map\n [att log bool, att log.raw bool, att compress=
_coercions bool, \n att export bool, att skip string, att local bool, att =
fail bool, \n att doc string, att primitive_class bool, att primitive bool=
, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =
=3D supported-attribute c0) X20",
+ "goal_text": "std.map\n [att log bool, att log.raw bool, a=
tt compress_coercions bool, \n att export bool, att skip string, att local=
bool, att fail bool, \n att doc string, att primitive_class bool, att pri=
mitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c=
1 \\\n c1 =3D supported-attribute c0) X20",
"goal_id": 1148
}
],
@@ -3482,8 +3303,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3502,8 +3322,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3522,8 +3341,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3542,8 +3360,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3562,8 +3379,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3582,8 +3398,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3602,8 +3417,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3622,8 +3436,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3642,8 +3455,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -3667,13 +3479,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -3688,8 +3498,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -3749,8 +3558,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3769,8 +3577,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3789,8 +3596,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3809,8 +3615,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3829,8 +3634,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3849,8 +3653,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3869,8 +3672,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3889,8 +3691,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -3909,8 +3710,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -3934,13 +3734,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -3955,8 +3753,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -3988,8 +3785,7 @@
"Inference",
{
"current_goal_id": 1148,
- "current_goal_text":
- "std.map\n [att log bool, att log.raw bool, att compress_coercio=
ns bool, \n att export bool, att skip string, att local bool, att fail boo=
l, \n att doc string, att primitive_class bool, att primitive bool, \n at=
t non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D suppo=
rted-attribute c0) X20",
+ "current_goal_text": "std.map\n [att log bool, att log.raw bool, a=
tt compress_coercions bool, \n att export bool, att skip string, att local=
bool, att fail bool, \n att doc string, att primitive_class bool, att pri=
mitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c=
1 \\\n c1 =3D supported-attribute c0) X20",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -3998,8 +3794,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4029,8 +3824,7 @@
"goal_id": 1149
},
{
- "goal_text":
- "std.map\n [att log.raw bool, att compress_coercions boo=
l, att export bool, \n att skip string, att local bool, att fail bool, att=
doc string, \n att primitive_class bool, att primitive bool, \n att non_=
forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D supported-a=
ttribute c0) X22",
+ "goal_text": "std.map\n [att log.raw bool, att compress_co=
ercions bool, att export bool, \n att skip string, att local bool, att fai=
l bool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D =
supported-attribute c0) X22",
"goal_id": 1150
}
],
@@ -4043,8 +3837,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4063,8 +3856,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4083,8 +3875,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4103,8 +3894,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4123,8 +3913,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4143,8 +3932,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4163,8 +3951,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4183,8 +3970,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4203,8 +3989,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4223,8 +4008,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -4248,13 +4032,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -4269,8 +4051,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -4328,8 +4109,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4348,8 +4128,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4368,8 +4147,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4388,8 +4166,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4408,8 +4185,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4428,8 +4204,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4448,8 +4223,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4468,8 +4242,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4488,8 +4261,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4508,8 +4280,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -4533,13 +4304,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -4554,8 +4323,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -4587,8 +4355,7 @@
"Inference",
{
"current_goal_id": 1150,
- "current_goal_text":
- "std.map\n [att log.raw bool, att compress_coercions bool, att e=
xport bool, \n att skip string, att local bool, att fail bool, att doc str=
ing, \n att primitive_class bool, att primitive bool, \n att non_forgetfu=
l_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D supported-attribute=
c0) X22",
+ "current_goal_text": "std.map\n [att log.raw bool, att compress_co=
ercions bool, att export bool, \n att skip string, att local bool, att fai=
l bool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D =
supported-attribute c0) X22",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -4597,8 +4364,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4628,8 +4394,7 @@
"goal_id": 1151
},
{
- "goal_text":
- "std.map\n [att compress_coercions bool, att export bool=
, att skip string, \n att local bool, att fail bool, att doc string, att p=
rimitive_class bool, \n att primitive bool, att non_forgetful_inheritance =
bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X24",
+ "goal_text": "std.map\n [att compress_coercions bool, att =
export bool, att skip string, \n att local bool, att fail bool, att doc st=
ring, att primitive_class bool, \n att primitive bool, att non_forgetful_i=
nheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0=
) X24",
"goal_id": 1152
}
],
@@ -4642,8 +4407,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4662,8 +4426,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4682,8 +4445,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4702,8 +4464,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4722,8 +4483,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4742,8 +4502,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4762,8 +4521,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4782,8 +4540,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4802,8 +4559,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4822,8 +4578,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4842,8 +4597,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -4867,13 +4621,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -4888,8 +4640,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -4947,8 +4698,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4967,8 +4717,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -4987,8 +4736,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5007,8 +4755,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5027,8 +4774,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5047,8 +4793,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5067,8 +4812,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5087,8 +4831,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5107,8 +4850,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5127,8 +4869,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5147,8 +4888,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -5172,13 +4912,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -5193,8 +4931,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -5226,8 +4963,7 @@
"Inference",
{
"current_goal_id": 1152,
- "current_goal_text":
- "std.map\n [att compress_coercions bool, att export bool, att sk=
ip string, \n att local bool, att fail bool, att doc string, att primitive=
_class bool, \n att primitive bool, att non_forgetful_inheritance bool, at=
t hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X24",
+ "current_goal_text": "std.map\n [att compress_coercions bool, att =
export bool, att skip string, \n att local bool, att fail bool, att doc st=
ring, att primitive_class bool, \n att primitive bool, att non_forgetful_i=
nheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0=
) X24",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -5236,8 +4972,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5263,13 +4998,11 @@
},
"siblings": [
{
- "goal_text":
- "X25 =3D supported-attribute (att compress_coercions boo=
l)",
+ "goal_text": "X25 =3D supported-attribute (att compress_co=
ercions bool)",
"goal_id": 1153
},
{
- "goal_text":
- "std.map\n [att export bool, att skip string, att local =
bool, att fail bool, \n att doc string, att primitive_class bool, att prim=
itive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1=
\\\n c1 =3D supported-attribute c0) X26",
+ "goal_text": "std.map\n [att export bool, att skip string,=
att local bool, att fail bool, \n att doc string, att primitive_class boo=
l, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool=
] (c0 \\ c1 \\\n c1 =3D supported-attribute c0) X26",
"goal_id": 1154
}
],
@@ -5282,8 +5015,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5302,8 +5034,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5322,8 +5053,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5342,8 +5072,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5362,8 +5091,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5382,8 +5110,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5402,8 +5129,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5422,8 +5148,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5442,8 +5167,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5462,8 +5186,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5482,8 +5205,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5502,8 +5224,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -5527,13 +5248,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -5548,8 +5267,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -5581,8 +5299,7 @@
"Inference",
{
"current_goal_id": 1153,
- "current_goal_text":
- "X25 =3D supported-attribute (att compress_coercions bool)",
+ "current_goal_text": "X25 =3D supported-attribute (att compress_co=
ercions bool)",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -5611,8 +5328,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5631,8 +5347,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5651,8 +5366,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5671,8 +5385,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5691,8 +5404,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5711,8 +5423,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5731,8 +5442,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5751,8 +5461,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5771,8 +5480,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5791,8 +5499,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5811,8 +5518,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5831,8 +5537,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -5856,13 +5561,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -5877,8 +5580,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -5910,8 +5612,7 @@
"Inference",
{
"current_goal_id": 1154,
- "current_goal_text":
- "std.map\n [att export bool, att skip string, att local bool, at=
t fail bool, \n att doc string, att primitive_class bool, att primitive bo=
ol, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1=
=3D supported-attribute c0) X26",
+ "current_goal_text": "std.map\n [att export bool, att skip string,=
att local bool, att fail bool, \n att doc string, att primitive_class boo=
l, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool=
] (c0 \\ c1 \\\n c1 =3D supported-attribute c0) X26",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -5920,8 +5621,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5951,8 +5651,7 @@
"goal_id": 1155
},
{
- "goal_text":
- "std.map\n [att skip string, att local bool, att fail bo=
ol, att doc string, \n att primitive_class bool, att primitive bool, \n a=
tt non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D supp=
orted-attribute c0) X28",
+ "goal_text": "std.map\n [att skip string, att local bool, =
att fail bool, att doc string, \n att primitive_class bool, att primitive =
bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n =
c1 =3D supported-attribute c0) X28",
"goal_id": 1156
}
],
@@ -5965,8 +5664,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -5985,8 +5683,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6005,8 +5702,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6025,8 +5721,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6045,8 +5740,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6065,8 +5759,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6085,8 +5778,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6105,8 +5797,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6125,8 +5816,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6145,8 +5835,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6165,8 +5854,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6185,8 +5873,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6205,8 +5892,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -6230,13 +5916,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -6251,8 +5935,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -6310,8 +5993,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6330,8 +6012,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6350,8 +6031,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6370,8 +6050,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6390,8 +6069,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6410,8 +6088,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6430,8 +6107,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6450,8 +6126,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6470,8 +6145,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6490,8 +6164,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6510,8 +6183,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6530,8 +6202,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6550,8 +6221,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -6575,13 +6245,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -6596,8 +6264,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -6629,8 +6296,7 @@
"Inference",
{
"current_goal_id": 1156,
- "current_goal_text":
- "std.map\n [att skip string, att local bool, att fail bool, att =
doc string, \n att primitive_class bool, att primitive bool, \n att non_f=
orgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D supported-at=
tribute c0) X28",
+ "current_goal_text": "std.map\n [att skip string, att local bool, =
att fail bool, att doc string, \n att primitive_class bool, att primitive =
bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n =
c1 =3D supported-attribute c0) X28",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -6639,8 +6305,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6670,8 +6335,7 @@
"goal_id": 1157
},
{
- "goal_text":
- "std.map\n [att local bool, att fail bool, att doc strin=
g, att primitive_class bool, \n att primitive bool, att non_forgetful_inhe=
ritance bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X=
30",
+ "goal_text": "std.map\n [att local bool, att fail bool, at=
t doc string, att primitive_class bool, \n att primitive bool, att non_for=
getful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attr=
ibute c0) X30",
"goal_id": 1158
}
],
@@ -6684,8 +6348,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6704,8 +6367,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6724,8 +6386,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6744,8 +6405,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6764,8 +6424,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6784,8 +6443,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6804,8 +6462,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6824,8 +6481,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6844,8 +6500,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6864,8 +6519,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6884,8 +6538,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6904,8 +6557,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6924,8 +6576,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -6944,8 +6595,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -6969,13 +6619,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -6990,8 +6638,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -7049,8 +6696,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7069,8 +6715,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7089,8 +6734,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7109,8 +6753,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7129,8 +6772,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7149,8 +6791,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7169,8 +6810,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7189,8 +6829,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7209,8 +6848,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7229,8 +6867,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7249,8 +6886,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7269,8 +6905,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7289,8 +6924,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7309,8 +6943,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -7334,13 +6967,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -7355,8 +6986,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -7388,8 +7018,7 @@
"Inference",
{
"current_goal_id": 1158,
- "current_goal_text":
- "std.map\n [att local bool, att fail bool, att doc string, att p=
rimitive_class bool, \n att primitive bool, att non_forgetful_inheritance =
bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X30",
+ "current_goal_text": "std.map\n [att local bool, att fail bool, at=
t doc string, att primitive_class bool, \n att primitive bool, att non_for=
getful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attr=
ibute c0) X30",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -7398,8 +7027,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7429,8 +7057,7 @@
"goal_id": 1159
},
{
- "goal_text":
- "std.map\n [att fail bool, att doc string, att primitive=
_class bool, \n att primitive bool, att non_forgetful_inheritance bool, at=
t hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X32",
+ "goal_text": "std.map\n [att fail bool, att doc string, at=
t primitive_class bool, \n att primitive bool, att non_forgetful_inheritan=
ce bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X32",
"goal_id": 1160
}
],
@@ -7443,8 +7070,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7463,8 +7089,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7483,8 +7108,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7503,8 +7127,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7523,8 +7146,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7543,8 +7165,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7563,8 +7184,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7583,8 +7203,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7603,8 +7222,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7623,8 +7241,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7643,8 +7260,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7663,8 +7279,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7683,8 +7298,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7703,8 +7317,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7723,8 +7336,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -7748,13 +7360,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -7769,8 +7379,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -7828,8 +7437,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7848,8 +7456,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7868,8 +7475,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7888,8 +7494,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7908,8 +7513,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7928,8 +7532,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7948,8 +7551,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7968,8 +7570,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -7988,8 +7589,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8008,8 +7608,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8028,8 +7627,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8048,8 +7646,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8068,8 +7665,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8088,8 +7684,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8108,8 +7703,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -8133,13 +7727,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -8154,8 +7746,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -8187,8 +7778,7 @@
"Inference",
{
"current_goal_id": 1160,
- "current_goal_text":
- "std.map\n [att fail bool, att doc string, att primitive_class b=
ool, \n att primitive bool, att non_forgetful_inheritance bool, att hnf bo=
ol] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X32",
+ "current_goal_text": "std.map\n [att fail bool, att doc string, at=
t primitive_class bool, \n att primitive bool, att non_forgetful_inheritan=
ce bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X32",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -8197,8 +7787,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8228,8 +7817,7 @@
"goal_id": 1161
},
{
- "goal_text":
- "std.map\n [att doc string, att primitive_class bool, at=
t primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0=
\\ c1 \\\n c1 =3D supported-attribute c0) X34",
+ "goal_text": "std.map\n [att doc string, att primitive_cla=
ss bool, att primitive bool, \n att non_forgetful_inheritance bool, att hn=
f bool] (c0 \\ c1 \\\n c1 =3D supported-attribute c0) X34",
"goal_id": 1162
}
],
@@ -8242,8 +7830,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8262,8 +7849,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8282,8 +7868,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8302,8 +7887,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8322,8 +7906,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8342,8 +7925,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8362,8 +7944,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8382,8 +7963,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8402,8 +7982,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8422,8 +8001,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8442,8 +8020,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8462,8 +8039,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8482,8 +8058,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8502,8 +8077,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8522,8 +8096,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8542,8 +8115,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -8567,13 +8139,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -8588,8 +8158,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -8647,8 +8216,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8667,8 +8235,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8687,8 +8254,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8707,8 +8273,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8727,8 +8292,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8747,8 +8311,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8767,8 +8330,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8787,8 +8349,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8807,8 +8368,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8827,8 +8387,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8847,8 +8406,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8867,8 +8425,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8887,8 +8444,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8907,8 +8463,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8927,8 +8482,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -8947,8 +8501,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -8972,13 +8525,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -8993,8 +8544,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -9026,8 +8576,7 @@
"Inference",
{
"current_goal_id": 1162,
- "current_goal_text":
- "std.map\n [att doc string, att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \=
\\n c1 =3D supported-attribute c0) X34",
+ "current_goal_text": "std.map\n [att doc string, att primitive_cla=
ss bool, att primitive bool, \n att non_forgetful_inheritance bool, att hn=
f bool] (c0 \\ c1 \\\n c1 =3D supported-attribute c0) X34",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -9036,8 +8585,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9067,8 +8615,7 @@
"goal_id": 1163
},
{
- "goal_text":
- "std.map\n [att primitive_class bool, att primitive bool=
, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =
=3D supported-attribute c0) X36",
+ "goal_text": "std.map\n [att primitive_class bool, att pri=
mitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c=
1 \\\n c1 =3D supported-attribute c0) X36",
"goal_id": 1164
}
],
@@ -9081,8 +8628,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9101,8 +8647,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9121,8 +8666,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9141,8 +8685,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9161,8 +8704,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9181,8 +8723,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9201,8 +8742,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9221,8 +8761,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9241,8 +8780,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9261,8 +8799,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9281,8 +8818,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9301,8 +8837,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9321,8 +8856,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9341,8 +8875,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9361,8 +8894,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9381,8 +8913,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9401,8 +8932,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -9426,13 +8956,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -9447,8 +8975,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -9506,8 +9033,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9526,8 +9052,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9546,8 +9071,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9566,8 +9090,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9586,8 +9109,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9606,8 +9128,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9626,8 +9147,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9646,8 +9166,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9666,8 +9185,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9686,8 +9204,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9706,8 +9223,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9726,8 +9242,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9746,8 +9261,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9766,8 +9280,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9786,8 +9299,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9806,8 +9318,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9826,8 +9337,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -9851,13 +9361,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -9872,8 +9380,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -9905,8 +9412,7 @@
"Inference",
{
"current_goal_id": 1164,
- "current_goal_text":
- "std.map\n [att primitive_class bool, att primitive bool, \n at=
t non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 =3D suppo=
rted-attribute c0) X36",
+ "current_goal_text": "std.map\n [att primitive_class bool, att pri=
mitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c=
1 \\\n c1 =3D supported-attribute c0) X36",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -9915,8 +9421,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9942,13 +9447,11 @@
},
"siblings": [
{
- "goal_text":
- "X37 =3D supported-attribute (att primitive_class bool)",
+ "goal_text": "X37 =3D supported-attribute (att primitive_c=
lass bool)",
"goal_id": 1165
},
{
- "goal_text":
- "std.map\n [att primitive bool, att non_forgetful_inheri=
tance bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X38=
",
+ "goal_text": "std.map\n [att primitive bool, att non_forge=
tful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attrib=
ute c0) X38",
"goal_id": 1166
}
],
@@ -9961,8 +9464,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -9981,8 +9483,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10001,8 +9502,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10021,8 +9521,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10041,8 +9540,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10061,8 +9559,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10081,8 +9578,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10101,8 +9597,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10121,8 +9616,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10141,8 +9635,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10161,8 +9654,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10181,8 +9673,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10201,8 +9692,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10221,8 +9711,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10241,8 +9730,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10261,8 +9749,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10281,8 +9768,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10301,8 +9787,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -10326,13 +9811,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -10347,8 +9830,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -10380,8 +9862,7 @@
"Inference",
{
"current_goal_id": 1165,
- "current_goal_text":
- "X37 =3D supported-attribute (att primitive_class bool)",
+ "current_goal_text": "X37 =3D supported-attribute (att primitive_c=
lass bool)",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -10410,8 +9891,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10430,8 +9910,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10450,8 +9929,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10470,8 +9948,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10490,8 +9967,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10510,8 +9986,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10530,8 +10005,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10550,8 +10024,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10570,8 +10043,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10590,8 +10062,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10610,8 +10081,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10630,8 +10100,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10650,8 +10119,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10670,8 +10138,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10690,8 +10157,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10710,8 +10176,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10730,8 +10195,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10750,8 +10214,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -10775,13 +10238,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -10796,8 +10257,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -10829,8 +10289,7 @@
"Inference",
{
"current_goal_id": 1166,
- "current_goal_text":
- "std.map\n [att primitive bool, att non_forgetful_inheritance bo=
ol, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attribute c0) X38",
+ "current_goal_text": "std.map\n [att primitive bool, att non_forge=
tful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 =3D supported-attrib=
ute c0) X38",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -10839,8 +10298,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10870,8 +10328,7 @@
"goal_id": 1167
},
{
- "goal_text":
- "std.map [att non_forgetful_inheritance bool, att hnf bo=
ol] (c0 \\ c1 \\\n c1 =3D supported-attribute c0) X40",
+ "goal_text": "std.map [att non_forgetful_inheritance bool,=
att hnf bool] (c0 \\ c1 \\\n c1 =3D supported-attribute c0) X40",
"goal_id": 1168
}
],
@@ -10884,8 +10341,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10904,8 +10360,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10924,8 +10379,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10944,8 +10398,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10964,8 +10417,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -10984,8 +10436,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11004,8 +10455,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11024,8 +10474,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11044,8 +10493,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11064,8 +10512,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11084,8 +10531,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11104,8 +10550,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11124,8 +10569,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11144,8 +10588,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11164,8 +10607,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11184,8 +10626,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11204,8 +10645,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11224,8 +10664,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11244,8 +10683,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -11269,13 +10707,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -11290,8 +10726,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -11351,8 +10786,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11371,8 +10805,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11391,8 +10824,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11411,8 +10843,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11431,8 +10862,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11451,8 +10881,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11471,8 +10900,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11491,8 +10919,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11511,8 +10938,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11531,8 +10957,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11551,8 +10976,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11571,8 +10995,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11591,8 +11014,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11611,8 +11033,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11631,8 +11052,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11651,8 +11071,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11671,8 +11090,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11691,8 +11109,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11711,8 +11128,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -11736,13 +11152,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -11757,8 +11171,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -11790,8 +11203,7 @@
"Inference",
{
"current_goal_id": 1168,
- "current_goal_text":
- "std.map [att non_forgetful_inheritance bool, att hnf bool] (c0 =
\\ c1 \\\n c1 =3D supported-attribute c0) X40",
+ "current_goal_text": "std.map [att non_forgetful_inheritance bool,=
att hnf bool] (c0 \\ c1 \\\n c1 =3D supported-attribute c0) X40",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -11800,8 +11212,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11824,13 +11235,11 @@
},
"siblings": [
{
- "goal_text":
- "X41 =3D supported-attribute (att non_forgetful_inherita=
nce bool)",
+ "goal_text": "X41 =3D supported-attribute (att non_forgetf=
ul_inheritance bool)",
"goal_id": 1169
},
{
- "goal_text":
- "std.map [att hnf bool] (c0 \\ c1 \\ c1 =3D supported-at=
tribute c0) X42",
+ "goal_text": "std.map [att hnf bool] (c0 \\ c1 \\ c1 =3D s=
upported-attribute c0) X42",
"goal_id": 1170
}
],
@@ -11843,8 +11252,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11863,8 +11271,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11883,8 +11290,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11903,8 +11309,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11923,8 +11328,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11943,8 +11347,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11963,8 +11366,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -11983,8 +11385,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12003,8 +11404,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12023,8 +11423,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12043,8 +11442,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12063,8 +11461,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12083,8 +11480,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12103,8 +11499,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12123,8 +11518,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12143,8 +11537,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12163,8 +11556,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12183,8 +11575,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12203,8 +11594,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12223,8 +11613,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -12248,13 +11637,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -12269,8 +11656,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -12302,8 +11688,7 @@
"Inference",
{
"current_goal_id": 1169,
- "current_goal_text":
- "X41 =3D supported-attribute (att non_forgetful_inheritance bool=
)",
+ "current_goal_text": "X41 =3D supported-attribute (att non_forgetf=
ul_inheritance bool)",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -12332,8 +11717,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12352,8 +11736,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12372,8 +11755,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12392,8 +11774,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12412,8 +11793,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12432,8 +11812,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12452,8 +11831,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12472,8 +11850,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12492,8 +11869,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12512,8 +11888,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12532,8 +11907,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12552,8 +11926,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12572,8 +11945,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12592,8 +11964,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12612,8 +11983,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12632,8 +12002,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12652,8 +12021,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12672,8 +12040,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12692,8 +12059,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12712,8 +12078,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -12737,13 +12102,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -12758,8 +12121,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -12791,8 +12153,7 @@
"Inference",
{
"current_goal_id": 1170,
- "current_goal_text":
- "std.map [att hnf bool] (c0 \\ c1 \\ c1 =3D supported-attribute =
c0) X42",
+ "current_goal_text": "std.map [att hnf bool] (c0 \\ c1 \\ c1 =3D s=
upported-attribute c0) X42",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -12801,8 +12162,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12829,8 +12189,7 @@
"goal_id": 1171
},
{
- "goal_text":
- "std.map [] (c0 \\ c1 \\ c1 =3D supported-attribute c0) =
X44",
+ "goal_text": "std.map [] (c0 \\ c1 \\ c1 =3D supported-att=
ribute c0) X44",
"goal_id": 1172
}
],
@@ -12843,8 +12202,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12863,8 +12221,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12883,8 +12240,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12903,8 +12259,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12923,8 +12278,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12943,8 +12297,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12963,8 +12316,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -12983,8 +12335,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13003,8 +12354,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13023,8 +12373,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13043,8 +12392,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13063,8 +12411,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13083,8 +12430,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13103,8 +12449,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13123,8 +12468,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13143,8 +12487,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13163,8 +12506,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13183,8 +12525,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13203,8 +12544,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13223,8 +12563,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13243,8 +12582,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -13268,13 +12606,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -13289,8 +12625,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -13348,8 +12683,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13368,8 +12702,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13388,8 +12721,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13408,8 +12740,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13428,8 +12759,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13448,8 +12778,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13468,8 +12797,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13488,8 +12816,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13508,8 +12835,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13528,8 +12854,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13548,8 +12873,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13568,8 +12892,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13588,8 +12911,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13608,8 +12930,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13628,8 +12949,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13648,8 +12968,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13668,8 +12987,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13688,8 +13006,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13708,8 +13025,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13728,8 +13044,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13748,8 +13063,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -13773,13 +13087,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -13794,8 +13106,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -13827,8 +13138,7 @@
"Inference",
{
"current_goal_id": 1172,
- "current_goal_text":
- "std.map [] (c0 \\ c1 \\ c1 =3D supported-attribute c0) X44",
+ "current_goal_text": "std.map [] (c0 \\ c1 \\ c1 =3D supported-att=
ribute c0) X44",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -13880,8 +13190,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13900,8 +13209,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13920,8 +13228,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13940,8 +13247,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13960,8 +13266,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -13980,8 +13285,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14000,8 +13304,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14020,8 +13323,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14040,8 +13342,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14060,8 +13361,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14080,8 +13380,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14100,8 +13399,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14120,8 +13418,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14140,8 +13437,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14160,8 +13456,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14180,8 +13475,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14200,8 +13494,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14220,8 +13513,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14240,8 +13532,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14260,8 +13551,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -14280,8 +13570,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -14305,13 +13594,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -14326,8 +13613,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -14359,8 +13645,7 @@
"Inference",
{
"current_goal_id": 1131,
- "current_goal_text":
- "[supported-attribute (att verbose bool), \n supported-attribute=
(att mathcomp bool), \n supported-attribute (att mathcomp.axiom string), \=
n supported-attribute (att short.type string), \n supported-attribute (att =
short.pack string), \n supported-attribute (att infer attmap), \n supported=
-attribute (att key string), \n supported-attribute (att arg_sort bool), \n=
supported-attribute (att log bool), supported-attribute (att log.raw bool)=
, \n supported-attribute (att compress_coercions bool), \n supported-attrib=
ute (att export bool), \n supported-attribute (att skip string), \n support=
ed-attribute (att local bool), supported-attribute (att fail bool), \n supp=
orted-attribute (att doc string), \n supported-attribute (att primitive_cla=
ss bool), \n supported-attribute (att primitive bool), \n supported-attribu=
te (att non_forgetful_inheritance bool), \n supported-attribute (att hnf bo=
ol)] =3D>\n parse-attributes.aux\n [attribute elpi.loc \n (leaf-loc Fil=
e \"(stdin)\", line 1, column 2, character 3:)] X3",
+ "current_goal_text": "[supported-attribute (att verbose bool), \n =
supported-attribute (att mathcomp bool), \n supported-attribute (att mathco=
mp.axiom string), \n supported-attribute (att short.type string), \n suppor=
ted-attribute (att short.pack string), \n supported-attribute (att infer at=
tmap), \n supported-attribute (att key string), \n supported-attribute (att=
arg_sort bool), \n supported-attribute (att log bool), supported-attribute=
(att log.raw bool), \n supported-attribute (att compress_coercions bool), =
\n supported-attribute (att export bool), \n supported-attribute (att skip =
string), \n supported-attribute (att local bool), supported-attribute (att =
fail bool), \n supported-attribute (att doc string), \n supported-attribute=
(att primitive_class bool), \n supported-attribute (att primitive bool), \=
n supported-attribute (att non_forgetful_inheritance bool), \n supported-at=
tribute (att hnf bool)] =3D>\n parse-attributes.aux\n [attribute elpi.loc =
\n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3",
"current_goal_predicate": "=3D>",
"failed_attempts": [],
"successful_attempts": [
@@ -14371,8 +13656,7 @@
},
"siblings": [
{
- "goal_text":
- "parse-attributes.aux\n [attribute elpi.loc \n (leaf-l=
oc File \"(stdin)\", line 1, column 2, character 3:)] X3",
+ "goal_text": "parse-attributes.aux\n [attribute elpi.loc \=
n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3",
"goal_id": 1173
}
],
@@ -14390,8 +13674,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -14415,13 +13698,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -14436,8 +13717,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -14469,16 +13749,14 @@
"Inference",
{
"current_goal_id": 1173,
- "current_goal_text":
- "parse-attributes.aux\n [attribute elpi.loc \n (leaf-loc File =
\"(stdin)\", line 1, column 2, character 3:)] X3",
+ "current_goal_text": "parse-attributes.aux\n [attribute elpi.loc \=
n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3",
"current_goal_predicate": "parse-attributes.aux",
"failed_attempts": [
{
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A5 =3D A0) \n =
(A5 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A5 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A6), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A7), (std.append A6 [=
get-option A5 A7] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A5 =3D A0) \n =
(A5 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A5 att=
map)), (!), \n (parse-attributes.aux A2 A3 A6), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A7), (std.=
append A6 [get-option A5 A7] A4).",
"rule_loc": [
"File",
{
@@ -14502,8 +13780,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (!), \n (parse-attributes.aux A2 A3 A5), \n (if (A3 =3D ) (A6 =3D A0=
) (A6 is A3 ^ . ^ A0)), \n (parse-attributes.aux A1 A6 A7), (std.append A5 =
A7 A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (!), \n (parse-attributes.aux A2 A3 A5), \n (if (A3 =3D )=
(A6 =3D A0) (A6 is A3 ^ . ^ A0)), \n (parse-attributes.aux A1 A6 A7), (std=
.append A5 A7 A4).",
"rule_loc": [
"File",
{
@@ -14527,8 +13804,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (leaf-str A1) | A2]=
A3 A4) :- (!), \n (if (A3 =3D ) (A5 =3D A0) (A5 is A3 ^ . ^ A0)), \n (coq.=
valid-str-attribute A5 A1 A6 A7), \n (if (A7 =3D error A8) (coq.error A8) t=
rue), \n (if (A6 =3D some A9) (A4 =3D [get-option A5 A9 | A10]) (A4 =3D A10=
)), \n (parse-attributes.aux A2 A3 A10).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (leaf-st=
r A1) | A2] A3 A4) :- (!), \n (if (A3 =3D ) (A5 =3D A0) (A5 is A3 ^ . ^ A0)=
), \n (coq.valid-str-attribute A5 A1 A6 A7), \n (if (A7 =3D error A8) (coq.=
error A8) true), \n (if (A6 =3D some A9) (A4 =3D [get-option A5 A9 | A10]) =
(A4 =3D A10)), \n (parse-attributes.aux A2 A3 A10).",
"rule_loc": [
"File",
{
@@ -14552,8 +13828,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (leaf-loc A1) | A2]=
A3 A4) :- (!), \n (if (A3 =3D ) (A5 =3D A0) (A5 is A3 ^ . ^ A0)), \n (coq.=
valid-loc-attribute A5 A1 A6), \n (if (A6 =3D error A7) (coq.error A7) true=
), (A4 =3D [get-option A5 A1 | A8]), \n (parse-attributes.aux A2 A3 A8).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (leaf-lo=
c A1) | A2] A3 A4) :- (!), \n (if (A3 =3D ) (A5 =3D A0) (A5 is A3 ^ . ^ A0)=
), \n (coq.valid-loc-attribute A5 A1 A6), \n (if (A6 =3D error A7) (coq.err=
or A7) true), (A4 =3D [get-option A5 A1 | A8]), \n (parse-attributes.aux A2=
A3 A8).",
"rule_loc": [
"File",
{
@@ -14583,8 +13858,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A=
3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!=
), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (=
att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5=
[get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node =
A1) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 a=
ttmap)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-=
attribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (st=
d.append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -14599,13 +13873,11 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1174 },
{
- "goal_text":
- "if ( =3D ) (X45 =3D elpi.loc) (X45 is ^ . ^ elpi.loc)",
+ "goal_text": "if ( =3D ) (X45 =3D elpi.loc) (X45 is ^ . ^=
elpi.loc)",
"goal_id": 1175
},
{
- "goal_text":
- "coq.valid-loc-attribute X45 File \"(stdin)\", line 1, c=
olumn 2, character 3: \n X46",
+ "goal_text": "coq.valid-loc-attribute X45 File \"(stdin)\"=
, line 1, column 2, character 3: \n X46",
"goal_id": 1176
},
{
@@ -14613,8 +13885,7 @@
"goal_id": 1177
},
{
- "goal_text":
- "X3 =3D [get-option X45 File \"(stdin)\", line 1, column=
2, character 3: | X48]",
+ "goal_text": "X3 =3D [get-option X45 File \"(stdin)\", lin=
e 1, column 2, character 3: | X48]",
"goal_id": 1178
},
{
@@ -14631,8 +13902,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -14648,8 +13918,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -14673,13 +13942,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -14694,8 +13961,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -14733,8 +13999,7 @@
"Inference",
{
"current_goal_id": 1175,
- "current_goal_text":
- "if ( =3D ) (X45 =3D elpi.loc) (X45 is ^ . ^ elpi.loc)",
+ "current_goal_text": "if ( =3D ) (X45 =3D elpi.loc) (X45 is ^ . ^=
elpi.loc)",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -14793,8 +14058,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -14810,8 +14074,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -14835,13 +14098,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -14856,8 +14117,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -14932,8 +14192,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -14949,8 +14208,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -14974,13 +14232,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -14995,8 +14251,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -15031,8 +14286,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "if ( =3D ) (X45 =3D elpi.loc) (X45 is ^ . ^ elpi.loc)",
+ "goal_text": "if ( =3D ) (X45 =3D elpi.loc) (X45 is ^ . ^ e=
lpi.loc)",
"goal_id": 1175
},
"cut_branch": {
@@ -15103,8 +14357,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -15120,8 +14373,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -15145,13 +14397,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -15166,8 +14416,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -15199,8 +14448,7 @@
"Inference",
{
"current_goal_id": 1176,
- "current_goal_text":
- "coq.valid-loc-attribute elpi.loc \n File \"(stdin)\", line 1, c=
olumn 2, character 3: X46",
+ "current_goal_text": "coq.valid-loc-attribute elpi.loc \n File \"(=
stdin)\", line 1, column 2, character 3: X46",
"current_goal_predicate": "coq.valid-loc-attribute",
"failed_attempts": [],
"successful_attempts": [
@@ -15209,8 +14457,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-=
attribute (att A0 loc)) \n (if (prim=
itive? A1 Loc.t) (A2 =3D ok) \n ((=
std.any->string A1 A4 ,\n calc\=
n (Attribute ^ A0 ^\n =
takes a loc, got ^ A4) A5)\n =
, A2 =3D error A5)) \n =
(if\n (s=
upported-attribute\n att-ignore-=
unknown) (A2 =3D ok) \n (calc\n =
(Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
+ "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if =
(supported-attribute (att A0 loc)) \n =
(if (primitive? A1 Loc.t) (A2 =3D ok) \n =
((std.any->string A1 A4 ,\n =
calc\n (Attribute ^ A0 =
^\n takes a loc, got ^ A4)=
A5)\n , A2 =3D error A5)) \n =
(if\n =
(supported-attribute\n =
att-ignore-unknown) (A2 =3D ok) \n =
(calc\n (Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
"rule_loc": [
"File",
{
@@ -15233,8 +14480,7 @@
},
"siblings": [
{
- "goal_text":
- "if (supported-attribute (att elpi.loc loc)) \n (if (pri=
mitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 =
=3D ok) \n ((std.any->string File \"(stdin)\", line 1, column 2, characte=
r 3: X49 ,\n calc (Attribute ^ elpi.loc ^ takes a loc, got ^ X49) X=
50) ,\n X46 =3D error X50)) \n (if (supported-attribute att-ignore-unkn=
own) (X46 =3D ok) \n (calc (Attribute ^ elpi.loc ^ is not supported) X5=
1 , X46 =3D error X51))",
+ "goal_text": "if (supported-attribute (att elpi.loc loc)) =
\n (if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) =
\n (X46 =3D ok) \n ((std.any->string File \"(stdin)\", line 1, column 2=
, character 3: X49 ,\n calc (Attribute ^ elpi.loc ^ takes a loc, got=
^ X49) X50) ,\n X46 =3D error X50)) \n (if (supported-attribute att-i=
gnore-unknown) (X46 =3D ok) \n (calc (Attribute ^ elpi.loc ^ is not sup=
ported) X51 , X46 =3D error X51))",
"goal_id": 1183
}
],
@@ -15247,8 +14493,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-at=
tribute (att A0 loc)) \n (if (primit=
ive? A1 Loc.t) (A2 =3D ok) \n ((st=
d.any->string A1 A4 ,\n calc\n =
(Attribute ^ A0 ^\n =
takes a loc, got ^ A4) A5)\n =
, A2 =3D error A5)) \n =
(if\n (sup=
ported-attribute\n att-ignore-un=
known) (A2 =3D ok) \n (calc\n =
(Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
+ "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (s=
upported-attribute (att A0 loc)) \n =
(if (primitive? A1 Loc.t) (A2 =3D ok) \n =
((std.any->string A1 A4 ,\n =
calc\n (Attribute ^ A0 ^\=
n takes a loc, got ^ A4) A=
5)\n , A2 =3D error A5)) \n =
(if\n =
(supported-attribute\n at=
t-ignore-unknown) (A2 =3D ok) \n (=
calc\n (Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
"rule_loc": [
"File",
{
@@ -15267,8 +14512,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -15284,8 +14528,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -15309,13 +14552,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -15330,8 +14571,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -15363,8 +14603,7 @@
"Inference",
{
"current_goal_id": 1183,
- "current_goal_text":
- "if (supported-attribute (att elpi.loc loc)) \n (if (primitive? =
File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 =3D ok) \=
n ((std.any->string File \"(stdin)\", line 1, column 2, character 3: X49 =
,\n calc (Attribute ^ elpi.loc ^ takes a loc, got ^ X49) X50) ,\n =
X46 =3D error X50)) \n (if (supported-attribute att-ignore-unknown) (X46=
=3D ok) \n (calc (Attribute ^ elpi.loc ^ is not supported) X51 , X46 =
=3D error X51))",
+ "current_goal_text": "if (supported-attribute (att elpi.loc loc)) =
\n (if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) =
\n (X46 =3D ok) \n ((std.any->string File \"(stdin)\", line 1, column 2=
, character 3: X49 ,\n calc (Attribute ^ elpi.loc ^ takes a loc, got=
^ X49) X50) ,\n X46 =3D error X50)) \n (if (supported-attribute att-i=
gnore-unknown) (X46 =3D ok) \n (calc (Attribute ^ elpi.loc ^ is not sup=
ported) X51 , X46 =3D error X51))",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -15400,8 +14639,7 @@
},
{ "goal_text": "!", "goal_id": 1185 },
{
- "goal_text":
- "if (primitive? File \"(stdin)\", line 1, column 2, char=
acter 3: Loc.t) \n (X46 =3D ok) \n ((std.any->string File \"(stdin)\", line=
1, column 2, character 3: X49 ,\n calc (Attribute ^ elpi.loc ^ takes =
a loc, got ^ X49) X50) ,\n X46 =3D error X50)",
+ "goal_text": "if (primitive? File \"(stdin)\", line 1, col=
umn 2, character 3: Loc.t) \n (X46 =3D ok) \n ((std.any->string File \"(std=
in)\", line 1, column 2, character 3: X49 ,\n calc (Attribute ^ elpi.lo=
c ^ takes a loc, got ^ X49) X50) ,\n X46 =3D error X50)",
"goal_id": 1186
}
],
@@ -15433,8 +14671,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-at=
tribute (att A0 loc)) \n (if (primit=
ive? A1 Loc.t) (A2 =3D ok) \n ((st=
d.any->string A1 A4 ,\n calc\n =
(Attribute ^ A0 ^\n =
takes a loc, got ^ A4) A5)\n =
, A2 =3D error A5)) \n =
(if\n (sup=
ported-attribute\n att-ignore-un=
known) (A2 =3D ok) \n (calc\n =
(Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
+ "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (s=
upported-attribute (att A0 loc)) \n =
(if (primitive? A1 Loc.t) (A2 =3D ok) \n =
((std.any->string A1 A4 ,\n =
calc\n (Attribute ^ A0 ^\=
n takes a loc, got ^ A4) A=
5)\n , A2 =3D error A5)) \n =
(if\n =
(supported-attribute\n at=
t-ignore-unknown) (A2 =3D ok) \n (=
calc\n (Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
"rule_loc": [
"File",
{
@@ -15453,8 +14690,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -15470,8 +14706,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -15495,13 +14730,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -15516,8 +14749,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -15568,8 +14800,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(supported-attribute (att mathcomp.axiom string)) :- .",
+ "rule_text": "(supported-attribute (att mathcomp.axiom str=
ing)) :- .",
"rule_loc": [ "Context", 49 ]
}
],
@@ -15584,8 +14815,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(supported-attribute (att short.type string)) :- .",
+ "rule_text": "(supported-attribute (att short.type string)=
) :- .",
"rule_loc": [ "Context", 49 ]
}
],
@@ -15597,8 +14827,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(supported-attribute (att short.pack string)) :- .",
+ "rule_text": "(supported-attribute (att short.pack string)=
) :- .",
"rule_loc": [ "Context", 49 ]
}
],
@@ -15670,8 +14899,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(supported-attribute (att compress_coercions bool)) :- =
.",
+ "rule_text": "(supported-attribute (att compress_coercions=
bool)) :- .",
"rule_loc": [ "Context", 49 ]
}
],
@@ -15746,8 +14974,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(supported-attribute (att primitive_class bool)) :- .",
+ "rule_text": "(supported-attribute (att primitive_class bo=
ol)) :- .",
"rule_loc": [ "Context", 49 ]
}
],
@@ -15762,8 +14989,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(supported-attribute (att primitive bool)) :- .",
+ "rule_text": "(supported-attribute (att primitive bool)) :=
- .",
"rule_loc": [ "Context", 49 ]
}
],
@@ -15775,8 +15001,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(supported-attribute (att non_forgetful_inheritance boo=
l)) :- .",
+ "rule_text": "(supported-attribute (att non_forgetful_inhe=
ritance bool)) :- .",
"rule_loc": [ "Context", 49 ]
}
],
@@ -15824,8 +15049,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(supported-attribute (att verbose bool)) :- .",
+ "rule_text": "(supported-attribute (att verbose bool)) :=
- .",
"rule_loc": [ "Context", 49 ]
}
],
@@ -15873,8 +15097,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-at=
tribute (att A0 loc)) \n (if (primit=
ive? A1 Loc.t) (A2 =3D ok) \n ((st=
d.any->string A1 A4 ,\n calc\n =
(Attribute ^ A0 ^\n =
takes a loc, got ^ A4) A5)\n =
, A2 =3D error A5)) \n =
(if\n (sup=
ported-attribute\n att-ignore-un=
known) (A2 =3D ok) \n (calc\n =
(Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
+ "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (s=
upported-attribute (att A0 loc)) \n =
(if (primitive? A1 Loc.t) (A2 =3D ok) \n =
((std.any->string A1 A4 ,\n =
calc\n (Attribute ^ A0 ^\=
n takes a loc, got ^ A4) A=
5)\n , A2 =3D error A5)) \n =
(if\n =
(supported-attribute\n at=
t-ignore-unknown) (A2 =3D ok) \n (=
calc\n (Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
"rule_loc": [
"File",
{
@@ -15893,8 +15116,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -15910,8 +15132,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -15935,13 +15156,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -15956,8 +15175,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -15996,8 +15214,7 @@
"goal_id": 1184
},
"cut_branch": {
- "rule_text":
- "(supported-attribute (att A0 string)) :- (rex_match ^elpi=
\\. A0).",
+ "rule_text": "(supported-attribute (att A0 string)) :- (rex_=
match ^elpi\\. A0).",
"rule_loc": [
"File",
{
@@ -16011,8 +15228,7 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "if (supported-attribute (att elpi.loc loc)) \n (if (primi=
tive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 =3D=
ok) \n ((std.any->string File \"(stdin)\", line 1, column 2, character 3=
: X49 ,\n calc (Attribute ^ elpi.loc ^ takes a loc, got ^ X49) X50)=
,\n X46 =3D error X50)) \n (if (supported-attribute att-ignore-unknown=
) (X46 =3D ok) \n (calc (Attribute ^ elpi.loc ^ is not supported) X51 ,=
X46 =3D error X51))",
+ "goal_text": "if (supported-attribute (att elpi.loc loc)) \n=
(if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n=
(X46 =3D ok) \n ((std.any->string File \"(stdin)\", line 1, column 2, =
character 3: X49 ,\n calc (Attribute ^ elpi.loc ^ takes a loc, got =
^ X49) X50) ,\n X46 =3D error X50)) \n (if (supported-attribute att-ign=
ore-unknown) (X46 =3D ok) \n (calc (Attribute ^ elpi.loc ^ is not suppo=
rted) X51 , X46 =3D error X51))",
"goal_id": 1183
},
"cut_branch": {
@@ -16040,8 +15256,7 @@
"Inference",
{
"current_goal_id": 1186,
- "current_goal_text":
- "if (primitive? File \"(stdin)\", line 1, column 2, character 3:=
Loc.t) \n (X46 =3D ok) \n ((std.any->string File \"(stdin)\", line 1, colu=
mn 2, character 3: X49 ,\n calc (Attribute ^ elpi.loc ^ takes a loc, g=
ot ^ X49) X50) ,\n X46 =3D error X50)",
+ "current_goal_text": "if (primitive? File \"(stdin)\", line 1, col=
umn 2, character 3: Loc.t) \n (X46 =3D ok) \n ((std.any->string File \"(std=
in)\", line 1, column 2, character 3: X49 ,\n calc (Attribute ^ elpi.lo=
c ^ takes a loc, got ^ X49) X50) ,\n X46 =3D error X50)",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -16072,8 +15287,7 @@
},
"siblings": [
{
- "goal_text":
- "primitive? File \"(stdin)\", line 1, column 2, characte=
r 3: Loc.t",
+ "goal_text": "primitive? File \"(stdin)\", line 1, column =
2, character 3: Loc.t",
"goal_id": 1187
},
{ "goal_text": "!", "goal_id": 1188 },
@@ -16126,8 +15340,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-at=
tribute (att A0 loc)) \n (if (primit=
ive? A1 Loc.t) (A2 =3D ok) \n ((st=
d.any->string A1 A4 ,\n calc\n =
(Attribute ^ A0 ^\n =
takes a loc, got ^ A4) A5)\n =
, A2 =3D error A5)) \n =
(if\n (sup=
ported-attribute\n att-ignore-un=
known) (A2 =3D ok) \n (calc\n =
(Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
+ "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (s=
upported-attribute (att A0 loc)) \n =
(if (primitive? A1 Loc.t) (A2 =3D ok) \n =
((std.any->string A1 A4 ,\n =
calc\n (Attribute ^ A0 ^\=
n takes a loc, got ^ A4) A=
5)\n , A2 =3D error A5)) \n =
(if\n =
(supported-attribute\n at=
t-ignore-unknown) (A2 =3D ok) \n (=
calc\n (Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
"rule_loc": [
"File",
{
@@ -16146,8 +15359,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -16163,8 +15375,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -16188,13 +15399,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -16209,8 +15418,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -16242,8 +15450,7 @@
"Inference",
{
"current_goal_id": 1187,
- "current_goal_text":
- "primitive? File \"(stdin)\", line 1, column 2, character 3: Loc=
.t",
+ "current_goal_text": "primitive? File \"(stdin)\", line 1, column =
2, character 3: Loc.t",
"current_goal_predicate": "primitive?",
"failed_attempts": [],
"successful_attempts": [
@@ -16252,8 +15459,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(primitive? A0 A1) :- (is_cdata A0 (ctype A1)).",
+ "rule_text": "(primitive? A0 A1) :- (is_cdata A0 (ctype =
A1)).",
"rule_loc": [
"File",
{
@@ -16275,8 +15481,7 @@
},
"siblings": [
{
- "goal_text":
- "is_cdata File \"(stdin)\", line 1, column 2, character =
3: (ctype Loc.t)",
+ "goal_text": "is_cdata File \"(stdin)\", line 1, column 2,=
character 3: (ctype Loc.t)",
"goal_id": 1190
}
],
@@ -16289,8 +15494,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(primitive? A0 A1) :- (is_cdata A0 (ctype A1)).",
+ "rule_text": "(primitive? A0 A1) :- (is_cdata A0 (ctype A1=
)).",
"rule_loc": [
"File",
{
@@ -16347,8 +15551,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-at=
tribute (att A0 loc)) \n (if (primit=
ive? A1 Loc.t) (A2 =3D ok) \n ((st=
d.any->string A1 A4 ,\n calc\n =
(Attribute ^ A0 ^\n =
takes a loc, got ^ A4) A5)\n =
, A2 =3D error A5)) \n =
(if\n (sup=
ported-attribute\n att-ignore-un=
known) (A2 =3D ok) \n (calc\n =
(Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
+ "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (s=
upported-attribute (att A0 loc)) \n =
(if (primitive? A1 Loc.t) (A2 =3D ok) \n =
((std.any->string A1 A4 ,\n =
calc\n (Attribute ^ A0 ^\=
n takes a loc, got ^ A4) A=
5)\n , A2 =3D error A5)) \n =
(if\n =
(supported-attribute\n at=
t-ignore-unknown) (A2 =3D ok) \n (=
calc\n (Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
"rule_loc": [
"File",
{
@@ -16367,8 +15570,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -16384,8 +15586,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -16409,13 +15610,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -16430,8 +15629,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -16463,8 +15661,7 @@
"Inference",
{
"current_goal_id": 1190,
- "current_goal_text":
- "is_cdata File \"(stdin)\", line 1, column 2, character 3: (ctyp=
e Loc.t)",
+ "current_goal_text": "is_cdata File \"(stdin)\", line 1, column 2,=
character 3: (ctype Loc.t)",
"current_goal_predicate": "is_cdata",
"failed_attempts": [],
"successful_attempts": [
@@ -16490,8 +15687,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(primitive? A0 A1) :- (is_cdata A0 (ctype A1)).",
+ "rule_text": "(primitive? A0 A1) :- (is_cdata A0 (ctype A1=
)).",
"rule_loc": [
"File",
{
@@ -16548,8 +15744,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-at=
tribute (att A0 loc)) \n (if (primit=
ive? A1 Loc.t) (A2 =3D ok) \n ((st=
d.any->string A1 A4 ,\n calc\n =
(Attribute ^ A0 ^\n =
takes a loc, got ^ A4) A5)\n =
, A2 =3D error A5)) \n =
(if\n (sup=
ported-attribute\n att-ignore-un=
known) (A2 =3D ok) \n (calc\n =
(Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
+ "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (s=
upported-attribute (att A0 loc)) \n =
(if (primitive? A1 Loc.t) (A2 =3D ok) \n =
((std.any->string A1 A4 ,\n =
calc\n (Attribute ^ A0 ^\=
n takes a loc, got ^ A4) A=
5)\n , A2 =3D error A5)) \n =
(if\n =
(supported-attribute\n at=
t-ignore-unknown) (A2 =3D ok) \n (=
calc\n (Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
"rule_loc": [
"File",
{
@@ -16568,8 +15763,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -16585,8 +15779,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -16610,13 +15803,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -16631,8 +15822,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -16693,8 +15883,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(primitive? A0 A1) :- (is_cdata A0 (ctype A1)).",
+ "rule_text": "(primitive? A0 A1) :- (is_cdata A0 (ctype A1=
)).",
"rule_loc": [
"File",
{
@@ -16751,8 +15940,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-at=
tribute (att A0 loc)) \n (if (primit=
ive? A1 Loc.t) (A2 =3D ok) \n ((st=
d.any->string A1 A4 ,\n calc\n =
(Attribute ^ A0 ^\n =
takes a loc, got ^ A4) A5)\n =
, A2 =3D error A5)) \n =
(if\n (sup=
ported-attribute\n att-ignore-un=
known) (A2 =3D ok) \n (calc\n =
(Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
+ "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (s=
upported-attribute (att A0 loc)) \n =
(if (primitive? A1 Loc.t) (A2 =3D ok) \n =
((std.any->string A1 A4 ,\n =
calc\n (Attribute ^ A0 ^\=
n takes a loc, got ^ A4) A=
5)\n , A2 =3D error A5)) \n =
(if\n =
(supported-attribute\n at=
t-ignore-unknown) (A2 =3D ok) \n (=
calc\n (Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
"rule_loc": [
"File",
{
@@ -16771,8 +15959,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -16788,8 +15975,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -16813,13 +15999,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -16834,8 +16018,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -16870,8 +16053,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "if (primitive? File \"(stdin)\", line 1, column 2, charac=
ter 3: Loc.t) \n (X46 =3D ok) \n ((std.any->string File \"(stdin)\", line 1=
, column 2, character 3: X49 ,\n calc (Attribute ^ elpi.loc ^ takes a =
loc, got ^ X49) X50) ,\n X46 =3D error X50)",
+ "goal_text": "if (primitive? File \"(stdin)\", line 1, colum=
n 2, character 3: Loc.t) \n (X46 =3D ok) \n ((std.any->string File \"(stdin=
)\", line 1, column 2, character 3: X49 ,\n calc (Attribute ^ elpi.loc =
^ takes a loc, got ^ X49) X50) ,\n X46 =3D error X50)",
"goal_id": 1186
},
"cut_branch": {
@@ -16961,8 +16143,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-at=
tribute (att A0 loc)) \n (if (primit=
ive? A1 Loc.t) (A2 =3D ok) \n ((st=
d.any->string A1 A4 ,\n calc\n =
(Attribute ^ A0 ^\n =
takes a loc, got ^ A4) A5)\n =
, A2 =3D error A5)) \n =
(if\n (sup=
ported-attribute\n att-ignore-un=
known) (A2 =3D ok) \n (calc\n =
(Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
+ "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (s=
upported-attribute (att A0 loc)) \n =
(if (primitive? A1 Loc.t) (A2 =3D ok) \n =
((std.any->string A1 A4 ,\n =
calc\n (Attribute ^ A0 ^\=
n takes a loc, got ^ A4) A=
5)\n , A2 =3D error A5)) \n =
(if\n =
(supported-attribute\n at=
t-ignore-unknown) (A2 =3D ok) \n (=
calc\n (Attribute ^ A0 ^\n =
is not supported) A3 ,\n =
A2 =3D error A3))).",
"rule_loc": [
"File",
{
@@ -16981,8 +16162,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -16998,8 +16178,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -17023,13 +16202,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -17044,8 +16221,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -17136,8 +16312,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -17153,8 +16328,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -17178,13 +16352,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -17199,8 +16371,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -17271,8 +16442,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -17288,8 +16458,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -17313,13 +16482,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -17334,8 +16501,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -17419,8 +16585,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -17436,8 +16601,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -17461,13 +16625,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -17482,8 +16644,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -17586,8 +16747,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -17603,8 +16763,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -17628,13 +16787,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -17649,8 +16806,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -17682,8 +16838,7 @@
"Inference",
{
"current_goal_id": 1178,
- "current_goal_text":
- "X3 =3D\n [get-option elpi.loc File \"(stdin)\", line 1, column =
2, character 3: | X48]",
+ "current_goal_text": "X3 =3D\n [get-option elpi.loc File \"(stdin)=
\", line 1, column 2, character 3: | X48]",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -17712,8 +16867,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -17729,8 +16883,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -17754,13 +16907,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -17775,8 +16926,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -17860,8 +17010,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 =
A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 attmap)), (!),=
\n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-attribute (at=
t c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.append A5 [=
get-option A7 A6] A4).",
+ "rule_text": "(parse-attributes.aux [attribute A0 (node A1=
) | A2] A3 A4) :- (if (A3 =3D ) \n =
(A7 =3D A0) \n =
(A7 is\n =
A3 ^ . ^ A0)), \n (supported-attribute (att A7 att=
map)), (!), \n (parse-attributes.aux A2 A3 A5), \n (pi (c0 \\ (supported-at=
tribute (att c0 string) :- !)) =3D>\n parse-attributes.aux A1 A6), (std.=
append A5 [get-option A7 A6] A4).",
"rule_loc": [ "Context", 6 ]
}
],
@@ -17877,8 +17026,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (=
c1 \\\n (c1 =3D supported-attribute c0)=
)) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
+ "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map =
A1 (c0 \\ (c1 \\\n (c1 =3D supported-at=
tribute c0))) A3), \n (A3 =3D> parse-attributes.aux A0 A2), (!).",
"rule_loc": [
"File",
{
@@ -17902,13 +17050,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -17923,8 +17069,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -17968,8 +17113,7 @@
"Inference",
{
"current_goal_id": 1128,
- "current_goal_text":
- "[get-option elpi.loc File \"(stdin)\", line 1, column 2, charac=
ter 3:] =3D>\n (save-docstring ,\n with-logging\n (instance.declare-co=
nst _ \n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB=
), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), f=
un `x` X0 c0 \\ c0]) (arity X1) _))",
+ "current_goal_text": "[get-option elpi.loc File \"(stdin)\", line =
1, column 2, character 3:] =3D>\n (save-docstring ,\n with-logging\n (=
instance.declare-const _ \n (app\n [global (const =C2=ABIsSelfA=
'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (ind=
c =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (arity X1) _))",
"current_goal_predicate": "=3D>",
"failed_attempts": [],
"successful_attempts": [
@@ -17980,8 +17124,7 @@
},
"siblings": [
{
- "goal_text":
- "save-docstring ,\n with-logging\n (instance.declare-co=
nst _ \n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), g=
lobal (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x`=
X0 c0 \\ c0]) (arity X1) _)",
+ "goal_text": "save-docstring ,\n with-logging\n (instance=
.declare-const _ \n (app\n [global (const =C2=ABIsSelfA'.phant_Buil=
d=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=
=BB), fun `x` X0 c0 \\ c0]) (arity X1) _)",
"goal_id": 1196
}
],
@@ -17999,13 +17142,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -18020,8 +17161,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -18053,8 +17193,7 @@
"Inference",
{
"current_goal_id": 1196,
- "current_goal_text":
- "save-docstring ,\n with-logging\n (instance.declare-const _ \n=
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (i=
ndt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \=
\ c0]) (arity X1) _)",
+ "current_goal_text": "save-docstring ,\n with-logging\n (instance=
.declare-const _ \n (app\n [global (const =C2=ABIsSelfA'.phant_Buil=
d=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=
=BB), fun `x` X0 c0 \\ c0]) (arity X1) _)",
"current_goal_predicate": ",",
"failed_attempts": [],
"successful_attempts": [
@@ -18066,8 +17205,7 @@
"siblings": [
{ "goal_text": "save-docstring", "goal_id": 1197 },
{
- "goal_text":
- "with-logging\n (instance.declare-const _ \n (app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (arity =
X1) _)",
+ "goal_text": "with-logging\n (instance.declare-const _ \n =
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt=
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0=
]) (arity X1) _)",
"goal_id": 1198
}
],
@@ -18090,13 +17228,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -18111,8 +17247,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -18153,13 +17288,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "save-docstring :- (if (get-option elpi.loc A0 , get-o=
ption doc A1) \n (acc-clause _ (docstring A0 A1)) true).=
",
+ "rule_text": "save-docstring :- (if (get-option elpi.loc=
A0 , get-option doc A1) \n (acc-clause _ (docstring A0 =
A1)) true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
utils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/utils.elpi",
"line": 81,
"column": 0,
"character": 2429
@@ -18171,8 +17304,7 @@
},
"siblings": [
{
- "goal_text":
- "if (get-option elpi.loc X52 , get-option doc X53) \n (a=
cc-clause _ (docstring X52 X53)) true",
+ "goal_text": "if (get-option elpi.loc X52 , get-option doc=
X53) \n (acc-clause _ (docstring X52 X53)) true",
"goal_id": 1199
}
],
@@ -18185,13 +17317,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "save-docstring :- (if (get-option elpi.loc A0 , get-opt=
ion doc A1) \n (acc-clause _ (docstring A0 A1)) true).",
+ "rule_text": "save-docstring :- (if (get-option elpi.loc A=
0 , get-option doc A1) \n (acc-clause _ (docstring A0 A1=
)) true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 81,
"column": 0,
"character": 2429
@@ -18216,13 +17346,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -18237,8 +17365,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -18270,8 +17397,7 @@
"Inference",
{
"current_goal_id": 1199,
- "current_goal_text":
- "if (get-option elpi.loc X52 , get-option doc X53) \n (acc-claus=
e _ (docstring X52 X53)) true",
+ "current_goal_text": "if (get-option elpi.loc X52 , get-option doc=
X53) \n (acc-clause _ (docstring X52 X53)) true",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -18339,13 +17465,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "save-docstring :- (if (get-option elpi.loc A0 , get-opt=
ion doc A1) \n (acc-clause _ (docstring A0 A1)) true).",
+ "rule_text": "save-docstring :- (if (get-option elpi.loc A=
0 , get-option doc A1) \n (acc-clause _ (docstring A0 A1=
)) true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 81,
"column": 0,
"character": 2429
@@ -18370,13 +17494,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -18391,8 +17513,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -18470,13 +17591,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "save-docstring :- (if (get-option elpi.loc A0 , get-opt=
ion doc A1) \n (acc-clause _ (docstring A0 A1)) true).",
+ "rule_text": "save-docstring :- (if (get-option elpi.loc A=
0 , get-option doc A1) \n (acc-clause _ (docstring A0 A1=
)) true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 81,
"column": 0,
"character": 2429
@@ -18501,13 +17620,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -18522,8 +17639,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -18564,8 +17680,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(get-option elpi.loc File \"(stdin)\", line 1, column=
2, character 3:) :- .",
+ "rule_text": "(get-option elpi.loc File \"(stdin)\", lin=
e 1, column 2, character 3:) :- .",
"rule_loc": [ "Context", 74 ]
}
],
@@ -18586,8 +17701,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(get-option elpi.loc File \"(stdin)\", line 1, column 2=
, character 3:) :- .",
+ "rule_text": "(get-option elpi.loc File \"(stdin)\", line =
1, column 2, character 3:) :- .",
"rule_loc": [ "Context", 74 ]
}
],
@@ -18622,13 +17736,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "save-docstring :- (if (get-option elpi.loc A0 , get-opt=
ion doc A1) \n (acc-clause _ (docstring A0 A1)) true).",
+ "rule_text": "save-docstring :- (if (get-option elpi.loc A=
0 , get-option doc A1) \n (acc-clause _ (docstring A0 A1=
)) true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 81,
"column": 0,
"character": 2429
@@ -18653,13 +17765,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -18674,8 +17784,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -18741,13 +17850,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "save-docstring :- (if (get-option elpi.loc A0 , get-opt=
ion doc A1) \n (acc-clause _ (docstring A0 A1)) true).",
+ "rule_text": "save-docstring :- (if (get-option elpi.loc A=
0 , get-option doc A1) \n (acc-clause _ (docstring A0 A1=
)) true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 81,
"column": 0,
"character": 2429
@@ -18772,13 +17879,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -18793,8 +17898,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -18826,8 +17930,7 @@
"Inference",
{
"current_goal_id": 1199,
- "current_goal_text":
- "if (get-option elpi.loc X52 , get-option doc X53) \n (acc-claus=
e _ (docstring X52 X53)) true",
+ "current_goal_text": "if (get-option elpi.loc X52 , get-option doc=
X53) \n (acc-clause _ (docstring X52 X53)) true",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -18879,13 +17982,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "save-docstring :- (if (get-option elpi.loc A0 , get-opt=
ion doc A1) \n (acc-clause _ (docstring A0 A1)) true).",
+ "rule_text": "save-docstring :- (if (get-option elpi.loc A=
0 , get-option doc A1) \n (acc-clause _ (docstring A0 A1=
)) true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 81,
"column": 0,
"character": 2429
@@ -18910,13 +18011,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -18931,8 +18030,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -19035,13 +18133,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "save-docstring :- (if (get-option elpi.loc A0 , get-opt=
ion doc A1) \n (acc-clause _ (docstring A0 A1)) true).",
+ "rule_text": "save-docstring :- (if (get-option elpi.loc A=
0 , get-option doc A1) \n (acc-clause _ (docstring A0 A1=
)) true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 81,
"column": 0,
"character": 2429
@@ -19066,13 +18162,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -19087,8 +18181,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -19120,8 +18213,7 @@
"Inference",
{
"current_goal_id": 1198,
- "current_goal_text":
- "with-logging\n (instance.declare-const _ \n (app\n [globa=
l (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), =
\n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (arity X1) _)",
+ "current_goal_text": "with-logging\n (instance.declare-const _ \n =
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt=
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0=
]) (arity X1) _)",
"current_goal_predicate": "with-logging",
"failed_attempts": [],
"successful_attempts": [
@@ -19130,13 +18222,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option elpi.hb.log _ , A1 =
=3D tt ;\n get-option elpi.hb.log.raw _ , A1 =3D ff),=
(!), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (std.any-=
>string A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.string.conca=
t \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_ou=
t A6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-close A8)=
, (std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.box (coq.p=
p.v 0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_out A11)=
.",
+ "rule_text": "(with-logging A0) :- (get-option elpi.hb.l=
og _ , A1 =3D tt ;\n get-option elpi.hb.log.raw _ , A=
1 =3D ff), (!), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n=
(std.any->string A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.st=
ring.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7),=
(close_out A6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger=
-close A8), (std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.=
box (coq.pp.v 0) A9) A10), (open_append A5 A11), \n (output A11 A10), (clos=
e_out A11).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
log.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/log.elpi",
"line": 267,
"column": 0,
"character": 10575
@@ -19153,8 +18243,7 @@
},
"siblings": [
{
- "goal_text":
- "get-option elpi.hb.log _ , X54 =3D tt ; get-option elpi=
.hb.log.raw _ , X54 =3D ff",
+ "goal_text": "get-option elpi.hb.log _ , X54 =3D tt ; get-=
option elpi.hb.log.raw _ , X54 =3D ff",
"goal_id": 1206
},
{ "goal_text": "!", "goal_id": 1207 },
@@ -19164,15 +18253,13 @@
{ "goal_text": "X58 is X56 ^ .hb", "goal_id": 1211 },
{ "goal_text": "open_append X58 X59", "goal_id": 1212 },
{
- "goal_text":
- "std.string.concat \n [, HIERARCHY BUILDER PATCH v1, X57=
, ] X60",
+ "goal_text": "std.string.concat \n [, HIERARCHY BUILDER PA=
TCH v1, X57, ] X60",
"goal_id": 1213
},
{ "goal_text": "output X59 X60", "goal_id": 1214 },
{ "goal_text": "close_out X59", "goal_id": 1215 },
{
- "goal_text":
- "log.private.logger X61 X54 =3D>\n instance.declare-cons=
t _ \n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global =
(indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \=
\ c0]) (arity X1) _",
+ "goal_text": "log.private.logger X61 X54 =3D>\n instance.d=
eclare-const _ \n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=
=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fu=
n `x` X0 c0 \\ c0]) (arity X1) _",
"goal_id": 1216
},
{
@@ -19184,8 +18271,7 @@
"goal_id": 1218
},
{
- "goal_text":
- "coq.pp->string (coq.pp.box (coq.pp.v 0) X62) X63",
+ "goal_text": "coq.pp->string (coq.pp.box (coq.pp.v 0) X62)=
X63",
"goal_id": 1219
},
{ "goal_text": "open_append X58 X64", "goal_id": 1220 },
@@ -19201,13 +18287,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option elpi.hb.log _ , A1 =3D=
tt ;\n get-option elpi.hb.log.raw _ , A1 =3D ff), (!=
), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (std.any->st=
ring A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.string.concat \=
n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A=
6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-close A8), (=
std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.box (coq.pp.v=
0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_out A11).",
+ "rule_text": "(with-logging A0) :- (get-option elpi.hb.log=
_ , A1 =3D tt ;\n get-option elpi.hb.log.raw _ , A1 =
=3D ff), (!), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (=
std.any->string A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.stri=
ng.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (=
close_out A6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-c=
lose A8), (std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.bo=
x (coq.pp.v 0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_=
out A11).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 267,
"column": 0,
"character": 10575
@@ -19232,13 +18316,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -19253,8 +18335,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -19286,8 +18367,7 @@
"Inference",
{
"current_goal_id": 1206,
- "current_goal_text":
- "get-option elpi.hb.log _ , X54 =3D tt ; get-option elpi.hb.log.=
raw _ , X54 =3D ff",
+ "current_goal_text": "get-option elpi.hb.log _ , X54 =3D tt ; get-=
option elpi.hb.log.raw _ , X54 =3D ff",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -19346,13 +18426,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option elpi.hb.log _ , A1 =3D=
tt ;\n get-option elpi.hb.log.raw _ , A1 =3D ff), (!=
), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (std.any->st=
ring A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.string.concat \=
n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A=
6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-close A8), (=
std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.box (coq.pp.v=
0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_out A11).",
+ "rule_text": "(with-logging A0) :- (get-option elpi.hb.log=
_ , A1 =3D tt ;\n get-option elpi.hb.log.raw _ , A1 =
=3D ff), (!), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (=
std.any->string A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.stri=
ng.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (=
close_out A6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-c=
lose A8), (std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.bo=
x (coq.pp.v 0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_=
out A11).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 267,
"column": 0,
"character": 10575
@@ -19377,13 +18455,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -19398,8 +18474,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -19477,13 +18552,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option elpi.hb.log _ , A1 =3D=
tt ;\n get-option elpi.hb.log.raw _ , A1 =3D ff), (!=
), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (std.any->st=
ring A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.string.concat \=
n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A=
6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-close A8), (=
std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.box (coq.pp.v=
0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_out A11).",
+ "rule_text": "(with-logging A0) :- (get-option elpi.hb.log=
_ , A1 =3D tt ;\n get-option elpi.hb.log.raw _ , A1 =
=3D ff), (!), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (=
std.any->string A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.stri=
ng.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (=
close_out A6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-c=
lose A8), (std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.bo=
x (coq.pp.v 0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_=
out A11).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 267,
"column": 0,
"character": 10575
@@ -19508,13 +18581,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -19529,8 +18600,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -19596,13 +18666,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option elpi.hb.log _ , A1 =3D=
tt ;\n get-option elpi.hb.log.raw _ , A1 =3D ff), (!=
), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (std.any->st=
ring A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.string.concat \=
n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A=
6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-close A8), (=
std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.box (coq.pp.v=
0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_out A11).",
+ "rule_text": "(with-logging A0) :- (get-option elpi.hb.log=
_ , A1 =3D tt ;\n get-option elpi.hb.log.raw _ , A1 =
=3D ff), (!), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (=
std.any->string A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.stri=
ng.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (=
close_out A6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-c=
lose A8), (std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.bo=
x (coq.pp.v 0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_=
out A11).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 267,
"column": 0,
"character": 10575
@@ -19627,13 +18695,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -19648,8 +18714,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -19681,8 +18746,7 @@
"Inference",
{
"current_goal_id": 1206,
- "current_goal_text":
- "get-option elpi.hb.log _ , X54 =3D tt ; get-option elpi.hb.log.=
raw _ , X54 =3D ff",
+ "current_goal_text": "get-option elpi.hb.log _ , X54 =3D tt ; get-=
option elpi.hb.log.raw _ , X54 =3D ff",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -19741,13 +18805,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option elpi.hb.log _ , A1 =3D=
tt ;\n get-option elpi.hb.log.raw _ , A1 =3D ff), (!=
), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (std.any->st=
ring A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.string.concat \=
n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A=
6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-close A8), (=
std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.box (coq.pp.v=
0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_out A11).",
+ "rule_text": "(with-logging A0) :- (get-option elpi.hb.log=
_ , A1 =3D tt ;\n get-option elpi.hb.log.raw _ , A1 =
=3D ff), (!), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (=
std.any->string A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.stri=
ng.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (=
close_out A6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-c=
lose A8), (std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.bo=
x (coq.pp.v 0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_=
out A11).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 267,
"column": 0,
"character": 10575
@@ -19772,13 +18834,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -19793,8 +18853,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -19875,13 +18934,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option elpi.hb.log _ , A1 =3D=
tt ;\n get-option elpi.hb.log.raw _ , A1 =3D ff), (!=
), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (std.any->st=
ring A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.string.concat \=
n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A=
6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-close A8), (=
std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.box (coq.pp.v=
0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_out A11).",
+ "rule_text": "(with-logging A0) :- (get-option elpi.hb.log=
_ , A1 =3D tt ;\n get-option elpi.hb.log.raw _ , A1 =
=3D ff), (!), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (=
std.any->string A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.stri=
ng.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (=
close_out A6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-c=
lose A8), (std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.bo=
x (coq.pp.v 0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_=
out A11).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 267,
"column": 0,
"character": 10575
@@ -19906,13 +18963,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -19927,8 +18982,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -19994,13 +19048,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option elpi.hb.log _ , A1 =3D=
tt ;\n get-option elpi.hb.log.raw _ , A1 =3D ff), (!=
), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (std.any->st=
ring A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.string.concat \=
n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A=
6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-close A8), (=
std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.box (coq.pp.v=
0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_out A11).",
+ "rule_text": "(with-logging A0) :- (get-option elpi.hb.log=
_ , A1 =3D tt ;\n get-option elpi.hb.log.raw _ , A1 =
=3D ff), (!), \n (get-option elpi.loc A2), (loc.fields A2 A3 _ _ _ _), \n (=
std.any->string A2 A4), (A5 is A3 ^ .hb), (open_append A5 A6), \n (std.stri=
ng.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (=
close_out A6), (log.private.logger A8 A1 =3D> A0), \n (log.private.logger-c=
lose A8), (std.intersperse coq.pp.spc A8 A9), \n (coq.pp->string (coq.pp.bo=
x (coq.pp.v 0) A9) A10), (open_append A5 A11), \n (output A11 A10), (close_=
out A11).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 267,
"column": 0,
"character": 10575
@@ -20025,13 +19077,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -20046,8 +19096,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -20079,8 +19128,7 @@
"Inference",
{
"current_goal_id": 1198,
- "current_goal_text":
- "with-logging\n (instance.declare-const _ \n (app\n [globa=
l (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), =
\n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (arity X1) _)",
+ "current_goal_text": "with-logging\n (instance.declare-const _ \n =
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt=
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0=
]) (arity X1) _)",
"current_goal_predicate": "with-logging",
"failed_attempts": [],
"successful_attempts": [
@@ -20089,13 +19137,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option log tt , A1 =3D tt ;=
\n get-option log.raw tt , A1 =3D ff), (!), \n (log.p=
rivate.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (std.inters=
perse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v 0) A3) A4=
), (coq.say (* \n A4 \n*)).",
+ "rule_text": "(with-logging A0) :- (get-option log tt , =
A1 =3D tt ;\n get-option log.raw tt , A1 =3D ff), (!)=
, \n (log.private.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n =
(std.intersperse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.=
v 0) A3) A4), (coq.say (* \n A4 \n*)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
log.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/log.elpi",
"line": 283,
"column": 0,
"character": 11151
@@ -20112,14 +19158,12 @@
},
"siblings": [
{
- "goal_text":
- "get-option log tt , X65 =3D tt ; get-option log.raw tt =
, X65 =3D ff",
+ "goal_text": "get-option log tt , X65 =3D tt ; get-option =
log.raw tt , X65 =3D ff",
"goal_id": 1229
},
{ "goal_text": "!", "goal_id": 1230 },
{
- "goal_text":
- "log.private.logger X66 X65 =3D>\n instance.declare-cons=
t _ \n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global =
(indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \=
\ c0]) (arity X1) _",
+ "goal_text": "log.private.logger X66 X65 =3D>\n instance.d=
eclare-const _ \n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=
=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fu=
n `x` X0 c0 \\ c0]) (arity X1) _",
"goal_id": 1231
},
{
@@ -20131,8 +19175,7 @@
"goal_id": 1233
},
{
- "goal_text":
- "coq.pp->string (coq.pp.box (coq.pp.v 0) X67) X68",
+ "goal_text": "coq.pp->string (coq.pp.box (coq.pp.v 0) X67)=
X68",
"goal_id": 1234
},
{ "goal_text": "coq.say (* \n X68 \n*)", "goal_id": 1235 }
@@ -20146,13 +19189,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option log tt , A1 =3D tt ;\n=
get-option log.raw tt , A1 =3D ff), (!), \n (log.pri=
vate.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (std.interspe=
rse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v 0) A3) A4),=
(coq.say (* \n A4 \n*)).",
+ "rule_text": "(with-logging A0) :- (get-option log tt , A1=
=3D tt ;\n get-option log.raw tt , A1 =3D ff), (!), =
\n (log.private.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (s=
td.intersperse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v =
0) A3) A4), (coq.say (* \n A4 \n*)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 283,
"column": 0,
"character": 11151
@@ -20177,13 +19218,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -20198,8 +19237,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -20231,8 +19269,7 @@
"Inference",
{
"current_goal_id": 1229,
- "current_goal_text":
- "get-option log tt , X65 =3D tt ; get-option log.raw tt , X65 =
=3D ff",
+ "current_goal_text": "get-option log tt , X65 =3D tt ; get-option =
log.raw tt , X65 =3D ff",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -20291,13 +19328,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option log tt , A1 =3D tt ;\n=
get-option log.raw tt , A1 =3D ff), (!), \n (log.pri=
vate.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (std.interspe=
rse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v 0) A3) A4),=
(coq.say (* \n A4 \n*)).",
+ "rule_text": "(with-logging A0) :- (get-option log tt , A1=
=3D tt ;\n get-option log.raw tt , A1 =3D ff), (!), =
\n (log.private.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (s=
td.intersperse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v =
0) A3) A4), (coq.say (* \n A4 \n*)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 283,
"column": 0,
"character": 11151
@@ -20322,13 +19357,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -20343,8 +19376,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -20422,13 +19454,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option log tt , A1 =3D tt ;\n=
get-option log.raw tt , A1 =3D ff), (!), \n (log.pri=
vate.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (std.interspe=
rse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v 0) A3) A4),=
(coq.say (* \n A4 \n*)).",
+ "rule_text": "(with-logging A0) :- (get-option log tt , A1=
=3D tt ;\n get-option log.raw tt , A1 =3D ff), (!), =
\n (log.private.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (s=
td.intersperse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v =
0) A3) A4), (coq.say (* \n A4 \n*)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 283,
"column": 0,
"character": 11151
@@ -20453,13 +19483,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -20474,8 +19502,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -20541,13 +19568,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option log tt , A1 =3D tt ;\n=
get-option log.raw tt , A1 =3D ff), (!), \n (log.pri=
vate.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (std.interspe=
rse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v 0) A3) A4),=
(coq.say (* \n A4 \n*)).",
+ "rule_text": "(with-logging A0) :- (get-option log tt , A1=
=3D tt ;\n get-option log.raw tt , A1 =3D ff), (!), =
\n (log.private.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (s=
td.intersperse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v =
0) A3) A4), (coq.say (* \n A4 \n*)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 283,
"column": 0,
"character": 11151
@@ -20572,13 +19597,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -20593,8 +19616,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -20626,8 +19648,7 @@
"Inference",
{
"current_goal_id": 1229,
- "current_goal_text":
- "get-option log tt , X65 =3D tt ; get-option log.raw tt , X65 =
=3D ff",
+ "current_goal_text": "get-option log tt , X65 =3D tt ; get-option =
log.raw tt , X65 =3D ff",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -20686,13 +19707,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option log tt , A1 =3D tt ;\n=
get-option log.raw tt , A1 =3D ff), (!), \n (log.pri=
vate.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (std.interspe=
rse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v 0) A3) A4),=
(coq.say (* \n A4 \n*)).",
+ "rule_text": "(with-logging A0) :- (get-option log tt , A1=
=3D tt ;\n get-option log.raw tt , A1 =3D ff), (!), =
\n (log.private.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (s=
td.intersperse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v =
0) A3) A4), (coq.say (* \n A4 \n*)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 283,
"column": 0,
"character": 11151
@@ -20717,13 +19736,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -20738,8 +19755,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -20817,13 +19833,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option log tt , A1 =3D tt ;\n=
get-option log.raw tt , A1 =3D ff), (!), \n (log.pri=
vate.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (std.interspe=
rse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v 0) A3) A4),=
(coq.say (* \n A4 \n*)).",
+ "rule_text": "(with-logging A0) :- (get-option log tt , A1=
=3D tt ;\n get-option log.raw tt , A1 =3D ff), (!), =
\n (log.private.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (s=
td.intersperse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v =
0) A3) A4), (coq.say (* \n A4 \n*)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 283,
"column": 0,
"character": 11151
@@ -20848,13 +19862,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -20869,8 +19881,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -20936,13 +19947,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-logging A0) :- (get-option log tt , A1 =3D tt ;\n=
get-option log.raw tt , A1 =3D ff), (!), \n (log.pri=
vate.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (std.interspe=
rse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v 0) A3) A4),=
(coq.say (* \n A4 \n*)).",
+ "rule_text": "(with-logging A0) :- (get-option log tt , A1=
=3D tt ;\n get-option log.raw tt , A1 =3D ff), (!), =
\n (log.private.logger A2 A1 =3D> A0), (log.private.logger-close A2), \n (s=
td.intersperse coq.pp.spc A2 A3), \n (coq.pp->string (coq.pp.box (coq.pp.v =
0) A3) A4), (coq.say (* \n A4 \n*)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 283,
"column": 0,
"character": 11151
@@ -20967,13 +19976,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -20988,8 +19995,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -21021,8 +20027,7 @@
"Inference",
{
"current_goal_id": 1198,
- "current_goal_text":
- "with-logging\n (instance.declare-const _ \n (app\n [globa=
l (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), =
\n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (arity X1) _)",
+ "current_goal_text": "with-logging\n (instance.declare-const _ \n =
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt=
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0=
]) (arity X1) _)",
"current_goal_predicate": "with-logging",
"failed_attempts": [],
"successful_attempts": [
@@ -21035,8 +20040,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
log.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -21053,8 +20057,7 @@
},
"siblings": [
{
- "goal_text":
- "instance.declare-const _ \n (app\n [global (const =C2=
=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global=
(indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (arity X1) _",
+ "goal_text": "instance.declare-const _ \n (app\n [global=
(const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \=
n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (arity X1) _",
"goal_id": 1242
}
],
@@ -21071,8 +20074,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -21097,13 +20099,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -21118,8 +20118,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -21151,8 +20150,7 @@
"Inference",
{
"current_goal_id": 1242,
- "current_goal_text":
- "instance.declare-const _ \n (app\n [global (const =C2=ABIsSel=
fA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =
=C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (arity X1) _",
+ "current_goal_text": "instance.declare-const _ \n (app\n [global=
(const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \=
n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (arity X1) _",
"current_goal_predicate": "instance.declare-const",
"failed_attempts": [],
"successful_attempts": [
@@ -21161,13 +20159,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (=
if-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.a=
ny->string A21 A22) \n (A9 i=
s hb_instance_ ^ A22)) \n (log=
.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.=
assert!\n (coq.safe-dest-app A7 =
\n (global A10) A11) \n =
The type of the instance is not a fact=
ory, \n factory-alias->gref A10 A=
12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (new_int A2=
3) \n (std.any->string A23 A24=
) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\=
n coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (s=
td.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \=
n coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.s=
ay\n HB: skipping section op=
ening)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-d=
est-app A7 \n (global A10) A11=
) \n The type of the instance is=
not a factory, \n factory-alias-=
>gref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-dis=
charging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, =
(new_int A23) \n (std.any->str=
ing A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n=
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (he=
ader A25 ,\n coq.say A25 \n =
closing instance section) ,=
\n log.coq.env.end-section-nam=
e A9), \n acc-clauses current A20=
]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instanc=
e.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -21186,8 +20182,7 @@
},
"siblings": [
{
- "goal_text":
- "std.do!\n [std.assert-ok! (coq.elaborate-arity-skeleton=
(arity X1) _ X69) \n Definition type illtyped, coq.arity->term X69 X70, =
\n std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (=
const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) X70 X71) \n Def=
inition illtyped, \n if (X69 =3D arity X72) \n (if-verbose (coq.say HB: =
skipping section opening) , X73 =3D X71) \n (,\n (, (new_int X74) (st=
d.any->string X74 X75) (X76 is hb_instance_ ^ X75)) \n (log.coq.env.beg=
in-section X76) \n (instance.private.postulate-arity X69 [] X71 X73 X72=
)), \n std.assert! (coq.safe-dest-app X72 (global X77) X78) \n The type =
of the instance is not a factory, factory-alias->gref X77 X79, \n std.asse=
rt! (factory-nparams X79 X80) Not a factory synthesized by HB, \n instance=
.private.hack-section-discharging X73 X81, \n instance.private.optimize-bo=
dy X81 X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84=
) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.a=
dd-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 =3D global (cons=
t X86), std.drop X80 X78 [X88 | _], \n instance.private.check-non-forgetfu=
l-inheritance X88 X79, \n instance.private.declare-instance X79 X88 X87 X8=
9 X90, \n if (X69 =3D arity _) true \n (if-verbose (header X91 , coq.say=
X91 closing instance section) ,\n log.coq.env.end-section-name X76), a=
cc-clauses current X89]",
+ "goal_text": "std.do!\n [std.assert-ok! (coq.elaborate-ari=
ty-skeleton (arity X1) _ X69) \n Definition type illtyped, coq.arity->ter=
m X69 X70, \n std.assert-ok!\n (coq.elaborate-skeleton\n (app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) X70 X=
71) \n Definition illtyped, \n if (X69 =3D arity X72) \n (if-verbose (=
coq.say HB: skipping section opening) , X73 =3D X71) \n (,\n (, (new_=
int X74) (std.any->string X74 X75) (X76 is hb_instance_ ^ X75)) \n (log=
.coq.env.begin-section X76) \n (instance.private.postulate-arity X69 []=
X71 X73 X72)), \n std.assert! (coq.safe-dest-app X72 (global X77) X78) \n=
The type of the instance is not a factory, factory-alias->gref X77 X79, =
\n std.assert! (factory-nparams X79 X80) Not a factory synthesized by HB, =
\n instance.private.hack-section-discharging X73 X81, \n instance.private=
.optimize-body X81 X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->st=
ring X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n l=
og.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 =3D =
global (const X86), std.drop X80 X78 [X88 | _], \n instance.private.check-=
non-forgetful-inheritance X88 X79, \n instance.private.declare-instance X7=
9 X88 X87 X89 X90, \n if (X69 =3D arity _) true \n (if-verbose (header X=
91 , coq.say X91 closing instance section) ,\n log.coq.env.end-section-=
name X76), acc-clauses current X89]",
"goal_id": 1243
}
],
@@ -21200,13 +20195,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -21225,8 +20218,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -21251,13 +20243,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -21272,8 +20262,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -21305,8 +20294,7 @@
"Inference",
{
"current_goal_id": 1243,
- "current_goal_text":
- "std.do!\n [std.assert-ok! (coq.elaborate-arity-skeleton (arity =
X1) _ X69) \n Definition type illtyped, coq.arity->term X69 X70, \n std.=
assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const =
=C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) X70 X71) \n Definitio=
n illtyped, \n if (X69 =3D arity X72) \n (if-verbose (coq.say HB: skippi=
ng section opening) , X73 =3D X71) \n (,\n (, (new_int X74) (std.any-=
>string X74 X75) (X76 is hb_instance_ ^ X75)) \n (log.coq.env.begin-sec=
tion X76) \n (instance.private.postulate-arity X69 [] X71 X73 X72)), \n=
std.assert! (coq.safe-dest-app X72 (global X77) X78) \n The type of the=
instance is not a factory, factory-alias->gref X77 X79, \n std.assert! (f=
actory-nparams X79 X80) Not a factory synthesized by HB, \n instance.priva=
te.hack-section-discharging X73 X81, \n instance.private.optimize-body X81=
X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84) \n =
(X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-con=
st-noimplicits-failondup X85 X82 X72 ff X86, \n X87 =3D global (const X86)=
, std.drop X80 X78 [X88 | _], \n instance.private.check-non-forgetful-inhe=
ritance X88 X79, \n instance.private.declare-instance X79 X88 X87 X89 X90,=
\n if (X69 =3D arity _) true \n (if-verbose (header X91 , coq.say X91 c=
losing instance section) ,\n log.coq.env.end-section-name X76), acc-cla=
uses current X89]",
+ "current_goal_text": "std.do!\n [std.assert-ok! (coq.elaborate-ari=
ty-skeleton (arity X1) _ X69) \n Definition type illtyped, coq.arity->ter=
m X69 X70, \n std.assert-ok!\n (coq.elaborate-skeleton\n (app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) X70 X=
71) \n Definition illtyped, \n if (X69 =3D arity X72) \n (if-verbose (=
coq.say HB: skipping section opening) , X73 =3D X71) \n (,\n (, (new_=
int X74) (std.any->string X74 X75) (X76 is hb_instance_ ^ X75)) \n (log=
.coq.env.begin-section X76) \n (instance.private.postulate-arity X69 []=
X71 X73 X72)), \n std.assert! (coq.safe-dest-app X72 (global X77) X78) \n=
The type of the instance is not a factory, factory-alias->gref X77 X79, =
\n std.assert! (factory-nparams X79 X80) Not a factory synthesized by HB, =
\n instance.private.hack-section-discharging X73 X81, \n instance.private=
.optimize-body X81 X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->st=
ring X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n l=
og.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 =3D =
global (const X86), std.drop X80 X78 [X88 | _], \n instance.private.check-=
non-forgetful-inheritance X88 X79, \n instance.private.declare-instance X7=
9 X88 X87 X89 X90, \n if (X69 =3D arity _) true \n (if-verbose (header X=
91 , coq.say X91 closing instance section) ,\n log.coq.env.end-section-=
name X76), acc-clauses current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -21315,8 +20303,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -21341,14 +20328,12 @@
},
"siblings": [
{
- "goal_text":
- "std.assert-ok! (coq.elaborate-arity-skeleton (arity X1)=
_ X69) \n Definition type illtyped",
+ "goal_text": "std.assert-ok! (coq.elaborate-arity-skeleton=
(arity X1) _ X69) \n Definition type illtyped",
"goal_id": 1244
},
{ "goal_text": "!", "goal_id": 1245 },
{
- "goal_text":
- "std.do!\n [coq.arity->term X69 X70, \n std.assert-ok!\=
n (coq.elaborate-skeleton\n (app\n [global (const =C2=ABIsSelfA=
'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc=
=C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \=
n if (X69 =3D arity X72) \n (if-verbose (coq.say HB: skipping section op=
ening) , X73 =3D X71) \n (,\n (, (new_int X74) (std.any->string X74 X=
75) (X76 is hb_instance_ ^ X75)) \n (log.coq.env.begin-section X76) \n =
(instance.private.postulate-arity X69 [] X71 X73 X72)), \n std.assert!=
(coq.safe-dest-app X72 (global X77) X78) \n The type of the instance is =
not a factory, factory-alias->gref X77 X79, \n std.assert! (factory-nparam=
s X79 X80) Not a factory synthesized by HB, \n instance.private.hack-secti=
on-discharging X73 X81, \n instance.private.optimize-body X81 X82, \n if =
(_ =3D _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB=
_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-const-noimplicit=
s-failondup X85 X82 X72 ff X86, \n X87 =3D global (const X86), std.drop X8=
0 X78 [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 X=
79, \n instance.private.declare-instance X79 X88 X87 X89 X90, \n if (X69 =
=3D arity _) true \n (if-verbose (header X91 , coq.say X91 closing instan=
ce section) ,\n log.coq.env.end-section-name X76), acc-clauses current =
X89]",
+ "goal_text": "std.do!\n [coq.arity->term X69 X70, \n std.=
assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const =
=C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) X70 X71) \n Definitio=
n illtyped, \n if (X69 =3D arity X72) \n (if-verbose (coq.say HB: skippi=
ng section opening) , X73 =3D X71) \n (,\n (, (new_int X74) (std.any-=
>string X74 X75) (X76 is hb_instance_ ^ X75)) \n (log.coq.env.begin-sec=
tion X76) \n (instance.private.postulate-arity X69 [] X71 X73 X72)), \n=
std.assert! (coq.safe-dest-app X72 (global X77) X78) \n The type of the=
instance is not a factory, factory-alias->gref X77 X79, \n std.assert! (f=
actory-nparams X79 X80) Not a factory synthesized by HB, \n instance.priva=
te.hack-section-discharging X73 X81, \n instance.private.optimize-body X81=
X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84) \n =
(X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-con=
st-noimplicits-failondup X85 X82 X72 ff X86, \n X87 =3D global (const X86)=
, std.drop X80 X78 [X88 | _], \n instance.private.check-non-forgetful-inhe=
ritance X88 X79, \n instance.private.declare-instance X79 X88 X87 X89 X90,=
\n if (X69 =3D arity _) true \n (if-verbose (header X91 , coq.say X91 c=
losing instance section) ,\n log.coq.env.end-section-name X76), acc-cla=
uses current X89]",
"goal_id": 1246
}
],
@@ -21380,13 +20365,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -21405,8 +20388,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -21431,13 +20413,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -21452,8 +20432,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -21485,8 +20464,7 @@
"Inference",
{
"current_goal_id": 1244,
- "current_goal_text":
- "std.assert-ok! (coq.elaborate-arity-skeleton (arity X1) _ X69) =
\n Definition type illtyped",
+ "current_goal_text": "std.assert-ok! (coq.elaborate-arity-skeleton=
(arity X1) _ X69) \n Definition type illtyped",
"current_goal_predicate": "std.assert-ok!",
"failed_attempts": [],
"successful_attempts": [
@@ -21495,8 +20473,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok=
; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n=
(A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -21518,14 +20495,12 @@
},
"siblings": [
{
- "goal_text":
- "coq.elaborate-arity-skeleton (arity X1) _ X69 X92",
+ "goal_text": "coq.elaborate-arity-skeleton (arity X1) _ X6=
9 X92",
"goal_id": 1247
},
{ "goal_text": "!", "goal_id": 1248 },
{
- "goal_text":
- "X92 =3D ok ;\n X92 =3D error X93 , std.fatal-error-w-da=
ta Definition type illtyped X93",
+ "goal_text": "X92 =3D ok ;\n X92 =3D error X93 , std.fatal=
-error-w-data Definition type illtyped X93",
"goal_id": 1249
},
{ "goal_text": "!", "goal_id": 1250 }
@@ -21539,8 +20514,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -21578,13 +20552,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -21603,8 +20575,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -21629,13 +20600,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -21650,8 +20619,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -21683,8 +20651,7 @@
"Inference",
{
"current_goal_id": 1247,
- "current_goal_text":
- "coq.elaborate-arity-skeleton (arity X1) _ X69 X92",
+ "current_goal_text": "coq.elaborate-arity-skeleton (arity X1) _ X6=
9 X92",
"current_goal_predicate": "coq.elaborate-arity-skeleton",
"failed_attempts": [],
"successful_attempts": [
@@ -21693,8 +20660,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2=
) A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
+ "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A=
1 (arity A2) A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -21727,8 +20693,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) =
A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
+ "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 =
(arity A2) A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -21747,8 +20712,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -21786,13 +20750,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -21811,8 +20773,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -21837,13 +20798,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -21858,8 +20817,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -21898,8 +20856,7 @@
{
"attempt": {
"rule": [
- "BuiltinRule",
- [ "FFI", "coq.elaborate-ty-skeleton" ]
+ "BuiltinRule", [ "FFI", "coq.elaborate-ty-skeleton" ]
],
"events": []
},
@@ -21910,8 +20867,7 @@
},
{ "goal_text": "X94 =3D X96", "goal_id": 1253 },
{
- "goal_text":
- "declare-evar [] (X97) (sort (typ =C2=ABinterleave_conte=
xt.403=C2=BB)) (X96)",
+ "goal_text": "declare-evar [] (X97) (sort (typ =C2=ABinter=
leave_context.403=C2=BB)) (X96)",
"goal_id": 1254
},
{ "goal_text": "X92 =3D ok", "goal_id": 1255 }
@@ -21930,8 +20886,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) =
A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
+ "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 =
(arity A2) A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -21950,8 +20905,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -21989,13 +20943,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -22014,8 +20966,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -22040,13 +20991,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -22061,8 +21010,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -22125,8 +21073,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) =
A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
+ "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 =
(arity A2) A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -22145,8 +21092,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -22184,13 +21130,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -22209,8 +21153,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -22235,13 +21178,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -22256,8 +21197,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -22318,8 +21258,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) =
A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
+ "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 =
(arity A2) A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -22338,8 +21277,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -22377,13 +21315,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -22402,8 +21338,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -22428,13 +21363,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -22449,8 +21382,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -22482,8 +21414,7 @@
"Inference",
{
"current_goal_id": 1254,
- "current_goal_text":
- "declare-evar [] (X97) (sort (typ =C2=ABinterleave_context.403=
=C2=BB)) (X96)",
+ "current_goal_text": "declare-evar [] (X97) (sort (typ =C2=ABinter=
leave_context.403=C2=BB)) (X96)",
"current_goal_predicate": "declare-evar",
"failed_attempts": [],
"successful_attempts": [
@@ -22492,8 +21423,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(declare-evar A0 A1 A2 A3) :- (declare_constraint (de=
clare-evar A0 A1 A2 A3) \n [A1]).",
+ "rule_text": "(declare-evar A0 A1 A2 A3) :- (declare_con=
straint (declare-evar A0 A1 A2 A3) \n [A1]).=
",
"rule_loc": [
"File",
{
@@ -22514,8 +21444,7 @@
},
"siblings": [
{
- "goal_text":
- "declare_constraint\n (declare-evar [] (X97) (sort (typ =
=C2=ABinterleave_context.403=C2=BB)) (X96)) [\n X97]",
+ "goal_text": "declare_constraint\n (declare-evar [] (X97) =
(sort (typ =C2=ABinterleave_context.403=C2=BB)) (X96)) [\n X97]",
"goal_id": 1256
}
],
@@ -22528,8 +21457,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(declare-evar A0 A1 A2 A3) :- (declare_constraint (decl=
are-evar A0 A1 A2 A3) \n [A1]).",
+ "rule_text": "(declare-evar A0 A1 A2 A3) :- (declare_const=
raint (declare-evar A0 A1 A2 A3) \n [A1]).",
"rule_loc": [
"File",
{
@@ -22553,8 +21481,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) =
A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
+ "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 =
(arity A2) A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -22573,8 +21500,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -22612,13 +21538,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -22637,8 +21561,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -22663,13 +21586,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -22684,8 +21605,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -22717,11 +21637,9 @@
"Suspend",
{
"suspend_goal_id": 1256,
- "suspend_goal_text":
- "declare_constraint\n (declare-evar [] (X97) (sort (typ =C2=ABin=
terleave_context.403=C2=BB)) (X96)) [\n X97]",
+ "suspend_goal_text": "declare_constraint\n (declare-evar [] (X97) =
(sort (typ =C2=ABinterleave_context.403=C2=BB)) (X96)) [\n X97]",
"suspend_sibling": {
- "goal_text":
- "declare-evar [] (X97) (sort (typ =C2=ABinterleave_context.403=
=C2=BB)) (X96)",
+ "goal_text": "declare-evar [] (X97) (sort (typ =C2=ABinterleave_=
context.403=C2=BB)) (X96)",
"goal_id": 1257
},
"suspend_stack": [
@@ -22734,8 +21652,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(declare-evar A0 A1 A2 A3) :- (declare_constraint (decl=
are-evar A0 A1 A2 A3) \n [A1]).",
+ "rule_text": "(declare-evar A0 A1 A2 A3) :- (declare_const=
raint (declare-evar A0 A1 A2 A3) \n [A1]).",
"rule_loc": [
"File",
{
@@ -22759,8 +21676,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) =
A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
+ "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 =
(arity A2) A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -22779,8 +21695,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -22818,13 +21733,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -22843,8 +21756,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -22869,13 +21781,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -22890,8 +21800,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -22926,8 +21835,7 @@
"chr_successful_attempts": [
{
"chr_attempt": {
- "chr_text":
- " \\ (declare-evar A0 A1 A2 A3) <=3D> (A0 =3D> evar A1 A2=
A3)",
+ "chr_text": " \\ (declare-evar A0 A1 A2 A3) <=3D> (A0 =3D> =
evar A1 A2 A3)",
"chr_loc": {
"filename": "coq-builtin.elpi",
"line": 178,
@@ -22939,8 +21847,7 @@
"step_id": 0,
"runtime_id": 9,
"step": [
- "Init",
- { "goal_text": "true", "goal_id": 1259 }
+ "Init", { "goal_text": "true", "goal_id": 1259 }
],
"color": "Grey"
},
@@ -23009,8 +21916,7 @@
"chr_removed_goals": [ 1257 ],
"chr_new_goals": [
{
- "goal_text":
- "_ =3D> [] =3D> evar X97 (sort (typ =C2=ABinterleave_con=
text.403=C2=BB)) X96",
+ "goal_text": "_ =3D> [] =3D> evar X97 (sort (typ =C2=ABint=
erleave_context.403=C2=BB)) X96",
"goal_id": 1260
}
]
@@ -23018,8 +21924,7 @@
],
"chr_store_before": [
{
- "goal_text":
- " declare-evar [] (X97) (sort (typ =C2=ABinterleave_context.=
403=C2=BB)) (X96) /* suspended on X97 */",
+ "goal_text": " declare-evar [] (X97) (sort (typ =C2=ABinterlea=
ve_context.403=C2=BB)) (X96) /* suspended on X97 */",
"goal_id": 1257
}
],
@@ -23035,8 +21940,7 @@
"Inference",
{
"current_goal_id": 1260,
- "current_goal_text":
- "_ =3D> [] =3D> evar X97 (sort (typ =C2=ABinterleave_context.403=
=C2=BB)) X96",
+ "current_goal_text": "_ =3D> [] =3D> evar X97 (sort (typ =C2=ABint=
erleave_context.403=C2=BB)) X96",
"current_goal_predicate": "=3D>",
"failed_attempts": [],
"successful_attempts": [
@@ -23047,8 +21951,7 @@
},
"siblings": [
{
- "goal_text":
- "[] =3D> evar X97 (sort (typ =C2=ABinterleave_context.40=
3=C2=BB)) X96",
+ "goal_text": "[] =3D> evar X97 (sort (typ =C2=ABinterleave=
_context.403=C2=BB)) X96",
"goal_id": 1261
}
],
@@ -23074,8 +21977,7 @@
"Inference",
{
"current_goal_id": 1261,
- "current_goal_text":
- "[] =3D> evar X97 (sort (typ =C2=ABinterleave_context.403=C2=BB)=
) X96",
+ "current_goal_text": "[] =3D> evar X97 (sort (typ =C2=ABinterleave=
_context.403=C2=BB)) X96",
"current_goal_predicate": "=3D>",
"failed_attempts": [],
"successful_attempts": [
@@ -23086,8 +21988,7 @@
},
"siblings": [
{
- "goal_text":
- "evar X97 (sort (typ =C2=ABinterleave_context.403=C2=BB)=
) X96",
+ "goal_text": "evar X97 (sort (typ =C2=ABinterleave_context=
.403=C2=BB)) X96",
"goal_id": 1262
}
],
@@ -23118,8 +22019,7 @@
"Inference",
{
"current_goal_id": 1262,
- "current_goal_text":
- "evar X97 (sort (typ =C2=ABinterleave_context.403=C2=BB)) X96",
+ "current_goal_text": "evar X97 (sort (typ =C2=ABinterleave_context=
.403=C2=BB)) X96",
"current_goal_predicate": "evar",
"failed_attempts": [],
"successful_attempts": [
@@ -23128,8 +22028,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (de=
clare_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (=
var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -23150,8 +22049,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1263 },
{
- "goal_text":
- "if (var X96) \n (declare_constraint (evar X97 (sort (ty=
p =C2=ABinterleave_context.403=C2=BB)) X96) \n [X97, X96]) true",
+ "goal_text": "if (var X96) \n (declare_constraint (evar X9=
7 (sort (typ =C2=ABinterleave_context.403=C2=BB)) X96) \n [X97, X96]) tru=
e",
"goal_id": 1264
}
],
@@ -23164,8 +22062,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -23205,8 +22102,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "evar X97 (sort (typ =C2=ABinterleave_context.403=C2=BB)) =
X96",
+ "goal_text": "evar X97 (sort (typ =C2=ABinterleave_context.4=
03=C2=BB)) X96",
"goal_id": 1262
},
"cut_branch": {
@@ -23234,8 +22130,7 @@
"Inference",
{
"current_goal_id": 1264,
- "current_goal_text":
- "if (var X96) \n (declare_constraint (evar X97 (sort (typ =C2=AB=
interleave_context.403=C2=BB)) X96) \n [X97, X96]) true",
+ "current_goal_text": "if (var X96) \n (declare_constraint (evar X9=
7 (sort (typ =C2=ABinterleave_context.403=C2=BB)) X96) \n [X97, X96]) tru=
e",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -23268,8 +22163,7 @@
{ "goal_text": "var X96", "goal_id": 1265 },
{ "goal_text": "!", "goal_id": 1266 },
{
- "goal_text":
- "declare_constraint (evar X97 (sort (typ =C2=ABinterleav=
e_context.403=C2=BB)) X96) \n [X97, X96]",
+ "goal_text": "declare_constraint (evar X97 (sort (typ =C2=
=ABinterleave_context.403=C2=BB)) X96) \n [X97, X96]",
"goal_id": 1267
}
],
@@ -23301,8 +22195,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -23382,8 +22275,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -23423,8 +22315,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "if (var X96) \n (declare_constraint (evar X97 (sort (typ =
=C2=ABinterleave_context.403=C2=BB)) X96) \n [X97, X96]) true",
+ "goal_text": "if (var X96) \n (declare_constraint (evar X97 =
(sort (typ =C2=ABinterleave_context.403=C2=BB)) X96) \n [X97, X96]) true",
"goal_id": 1264
},
"cut_branch": {
@@ -23452,8 +22343,7 @@
"Suspend",
{
"suspend_goal_id": 1267,
- "suspend_goal_text":
- "declare_constraint (evar X97 (sort (typ =C2=ABinterleave_contex=
t.403=C2=BB)) X96) \n [X97, X96]",
+ "suspend_goal_text": "declare_constraint (evar X97 (sort (typ =C2=
=ABinterleave_context.403=C2=BB)) X96) \n [X97, X96]",
"suspend_sibling": {
"goal_text": "evar X97 (sort (typ =C2=ABinterleave_context.403=
=C2=BB)) X96",
"goal_id": 1268
@@ -23487,8 +22377,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -23554,8 +22443,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) =
A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
+ "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 =
(arity A2) A3) :- (coq.elaborate-ty-skeleton\n =
A0 A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -23574,8 +22462,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -23613,13 +22500,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -23638,8 +22523,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -23664,13 +22548,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -23685,8 +22567,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -23721,13 +22602,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "std.assert-ok! (coq.elaborate-arity-skeleton (arity X1) _=
X69) \n Definition type illtyped",
+ "goal_text": "std.assert-ok! (coq.elaborate-arity-skeleton (=
arity X1) _ X69) \n Definition type illtyped",
"goal_id": 1244
},
"cut_branch": {
- "rule_text":
- "(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no di=
agnostic returned).",
+ "rule_text": "(std.assert-ok! _ A0) :- (std.fatal-error-w-da=
ta A0 no diagnostic returned).",
"rule_loc": [
"File",
{
@@ -23751,8 +22630,7 @@
"Inference",
{
"current_goal_id": 1249,
- "current_goal_text":
- "ok =3D ok ;\n ok =3D error X93 , std.fatal-error-w-data Definit=
ion type illtyped X93",
+ "current_goal_text": "ok =3D ok ;\n ok =3D error X93 , std.fatal-e=
rror-w-data Definition type illtyped X93",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -23804,8 +22682,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -23843,13 +22720,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -23868,8 +22743,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -23894,13 +22768,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -23915,8 +22787,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -23991,8 +22862,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -24030,13 +22900,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -24055,8 +22923,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -24081,13 +22948,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -24102,8 +22967,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -24138,8 +23002,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "X92 =3D ok ;\n X92 =3D error X93 , std.fatal-error-w-data=
Definition type illtyped X93",
+ "goal_text": "X92 =3D ok ;\n X92 =3D error X93 , std.fatal-e=
rror-w-data Definition type illtyped X93",
"goal_id": 1249
},
"cut_branch": {
@@ -24173,8 +23036,7 @@
"Inference",
{
"current_goal_id": 1246,
- "current_goal_text":
- "std.do!\n [coq.arity->term (arity (X96)) X70, \n std.assert-ok=
!\n (coq.elaborate-skeleton\n (app\n [global (const =C2=ABIsSel=
fA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (in=
dc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped,=
\n if (arity (X96) =3D arity X72) \n (if-verbose (coq.say HB: skipping =
section opening) , X73 =3D X71) \n (,\n (, (new_int X74) (std.any->st=
ring X74 X75) (X76 is hb_instance_ ^ X75)) \n (log.coq.env.begin-sectio=
n X76) \n (instance.private.postulate-arity (arity (X96)) [] X71 X73 X7=
2)), \n std.assert! (coq.safe-dest-app X72 (global X77) X78) \n The type=
of the instance is not a factory, factory-alias->gref X77 X79, \n std.ass=
ert! (factory-nparams X79 X80) Not a factory synthesized by HB, \n instanc=
e.private.hack-section-discharging X73 X81, \n instance.private.optimize-b=
ody X81 X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X8=
4) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.=
add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 =3D global (con=
st X86), std.drop X80 X78 [X88 | _], \n instance.private.check-non-forgetf=
ul-inheritance X88 X79, \n instance.private.declare-instance X79 X88 X87 X=
89 X90, \n if (arity (X96) =3D arity _) true \n (if-verbose (header X91 =
, coq.say X91 closing instance section) ,\n log.coq.env.end-section-nam=
e X76), acc-clauses current X89]",
+ "current_goal_text": "std.do!\n [coq.arity->term (arity (X96)) X70=
, \n std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global=
(const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \=
n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) X70 X71) \n D=
efinition illtyped, \n if (arity (X96) =3D arity X72) \n (if-verbose (co=
q.say HB: skipping section opening) , X73 =3D X71) \n (,\n (, (new_in=
t X74) (std.any->string X74 X75) (X76 is hb_instance_ ^ X75)) \n (log.c=
oq.env.begin-section X76) \n (instance.private.postulate-arity (arity (=
X96)) [] X71 X73 X72)), \n std.assert! (coq.safe-dest-app X72 (global X77)=
X78) \n The type of the instance is not a factory, factory-alias->gref X=
77 X79, \n std.assert! (factory-nparams X79 X80) Not a factory synthesized=
by HB, \n instance.private.hack-section-discharging X73 X81, \n instance=
.private.optimize-body X81 X82, \n if (_ =3D _) \n (, (new_int X83) (std=
.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _=
), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n =
X87 =3D global (const X86), std.drop X80 X78 [X88 | _], \n instance.privat=
e.check-non-forgetful-inheritance X88 X79, \n instance.private.declare-ins=
tance X79 X88 X87 X89 X90, \n if (arity (X96) =3D arity _) true \n (if-v=
erbose (header X91 , coq.say X91 closing instance section) ,\n log.coq.=
env.end-section-name X76), acc-clauses current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -24183,8 +23045,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -24211,8 +23072,7 @@
},
{ "goal_text": "!", "goal_id": 1271 },
{
- "goal_text":
- "std.do!\n [std.assert-ok!\n (coq.elaborate-skeleton\n=
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global =
(indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c=
0 \\ c0]) X70 X71) \n Definition illtyped, \n if (arity (X96) =3D arity =
X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 =3D X71)=
\n (,\n (, (new_int X74) (std.any->string X74 X75) (X76 is hb_instan=
ce_ ^ X75)) \n (log.coq.env.begin-section X76) \n (instance.private=
.postulate-arity (arity (X96)) [] X71 X73 X72)), \n std.assert! (coq.safe-=
dest-app X72 (global X77) X78) \n The type of the instance is not a facto=
ry, factory-alias->gref X77 X79, \n std.assert! (factory-nparams X79 X80) =
Not a factory synthesized by HB, \n instance.private.hack-section-discharg=
ing X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ =3D _) \=
n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_fa=
ctory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-const-noimplicits-failondup=
X85 X82 X72 ff X86, \n X87 =3D global (const X86), std.drop X80 X78 [X88 =
| _], \n instance.private.check-non-forgetful-inheritance X88 X79, \n ins=
tance.private.declare-instance X79 X88 X87 X89 X90, \n if (arity (X96) =3D=
arity _) true \n (if-verbose (header X91 , coq.say X91 closing instance =
section) ,\n log.coq.env.end-section-name X76), acc-clauses current X89=
]",
+ "goal_text": "std.do!\n [std.assert-ok!\n (coq.elaborate=
-skeleton\n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=
=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB),=
fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (arity (X9=
6) =3D arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,=
X73 =3D X71) \n (,\n (, (new_int X74) (std.any->string X74 X75) (X76=
is hb_instance_ ^ X75)) \n (log.coq.env.begin-section X76) \n (ins=
tance.private.postulate-arity (arity (X96)) [] X71 X73 X72)), \n std.asser=
t! (coq.safe-dest-app X72 (global X77) X78) \n The type of the instance i=
s not a factory, factory-alias->gref X77 X79, \n std.assert! (factory-npar=
ams X79 X80) Not a factory synthesized by HB, \n instance.private.hack-sec=
tion-discharging X73 X81, \n instance.private.optimize-body X81 X82, \n i=
f (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is =
HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-const-noimplic=
its-failondup X85 X82 X72 ff X86, \n X87 =3D global (const X86), std.drop =
X80 X78 [X88 | _], \n instance.private.check-non-forgetful-inheritance X88=
X79, \n instance.private.declare-instance X79 X88 X87 X89 X90, \n if (ar=
ity (X96) =3D arity _) true \n (if-verbose (header X91 , coq.say X91 clos=
ing instance section) ,\n log.coq.env.end-section-name X76), acc-clause=
s current X89]",
"goal_id": 1272
}
],
@@ -24263,13 +23123,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -24288,8 +23146,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -24314,13 +23171,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -24335,8 +23190,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -24390,8 +23244,7 @@
}
],
"events": [
- [ "Assign", "A0 :=3D X96" ],
- [ "Assign", "X70 :=3D X96" ]
+ [ "Assign", "A0 :=3D X96" ], [ "Assign", "X70 :=3D X96" ]
]
},
"siblings": [],
@@ -24461,13 +23314,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -24486,8 +23337,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -24512,13 +23362,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -24533,8 +23381,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -24572,8 +23419,7 @@
"Inference",
{
"current_goal_id": 1272,
- "current_goal_text":
- "std.do!\n [std.assert-ok!\n (coq.elaborate-skeleton\n (ap=
p\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c=
0]) (X96) X71) \n Definition illtyped, \n if (arity (X96) =3D arity X72)=
\n (if-verbose (coq.say HB: skipping section opening) , X73 =3D X71) \n =
(,\n (, (new_int X74) (std.any->string X74 X75) (X76 is hb_instance_ =
^ X75)) \n (log.coq.env.begin-section X76) \n (instance.private.pos=
tulate-arity (arity (X96)) [] X71 X73 X72)), \n std.assert! (coq.safe-dest=
-app X72 (global X77) X78) \n The type of the instance is not a factory, =
factory-alias->gref X77 X79, \n std.assert! (factory-nparams X79 X80) Not =
a factory synthesized by HB, \n instance.private.hack-section-discharging =
X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ =3D _) \n =
(, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factor=
y_ ^ X84)) (X85 =3D _), \n log.coq.env.add-const-noimplicits-failondup X85=
X82 X72 ff X86, \n X87 =3D global (const X86), std.drop X80 X78 [X88 | _]=
, \n instance.private.check-non-forgetful-inheritance X88 X79, \n instanc=
e.private.declare-instance X79 X88 X87 X89 X90, \n if (arity (X96) =3D ari=
ty _) true \n (if-verbose (header X91 , coq.say X91 closing instance sect=
ion) ,\n log.coq.env.end-section-name X76), acc-clauses current X89]",
+ "current_goal_text": "std.do!\n [std.assert-ok!\n (coq.elaborate=
-skeleton\n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=
=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB),=
fun `x` X0 c0 \\ c0]) (X96) X71) \n Definition illtyped, \n if (arity (=
X96) =3D arity X72) \n (if-verbose (coq.say HB: skipping section opening)=
, X73 =3D X71) \n (,\n (, (new_int X74) (std.any->string X74 X75) (X=
76 is hb_instance_ ^ X75)) \n (log.coq.env.begin-section X76) \n (i=
nstance.private.postulate-arity (arity (X96)) [] X71 X73 X72)), \n std.ass=
ert! (coq.safe-dest-app X72 (global X77) X78) \n The type of the instance=
is not a factory, factory-alias->gref X77 X79, \n std.assert! (factory-np=
arams X79 X80) Not a factory synthesized by HB, \n instance.private.hack-s=
ection-discharging X73 X81, \n instance.private.optimize-body X81 X82, \n =
if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 i=
s HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-const-noimpl=
icits-failondup X85 X82 X72 ff X86, \n X87 =3D global (const X86), std.dro=
p X80 X78 [X88 | _], \n instance.private.check-non-forgetful-inheritance X=
88 X79, \n instance.private.declare-instance X79 X88 X87 X89 X90, \n if (=
arity (X96) =3D arity _) true \n (if-verbose (header X91 , coq.say X91 cl=
osing instance section) ,\n log.coq.env.end-section-name X76), acc-clau=
ses current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -24582,8 +23428,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -24608,14 +23453,12 @@
},
"siblings": [
{
- "goal_text":
- "std.assert-ok!\n (coq.elaborate-skeleton\n (app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (X96) X=
71) \n Definition illtyped",
+ "goal_text": "std.assert-ok!\n (coq.elaborate-skeleton\n =
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]=
) (X96) X71) \n Definition illtyped",
"goal_id": 1273
},
{ "goal_text": "!", "goal_id": 1274 },
{
- "goal_text":
- "std.do!\n [if (arity (X96) =3D arity X72) \n (if-verb=
ose (coq.say HB: skipping section opening) , X73 =3D X71) \n (,\n (, =
(new_int X74) (std.any->string X74 X75) (X76 is hb_instance_ ^ X75)) \n =
(log.coq.env.begin-section X76) \n (instance.private.postulate-arity (=
arity (X96)) [] X71 X73 X72)), \n std.assert! (coq.safe-dest-app X72 (glob=
al X77) X78) \n The type of the instance is not a factory, factory-alias-=
>gref X77 X79, \n std.assert! (factory-nparams X79 X80) Not a factory synt=
hesized by HB, \n instance.private.hack-section-discharging X73 X81, \n i=
nstance.private.optimize-body X81 X82, \n if (_ =3D _) \n (, (new_int X8=
3) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X8=
5 =3D _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X8=
6, \n X87 =3D global (const X86), std.drop X80 X78 [X88 | _], \n instance=
.private.check-non-forgetful-inheritance X88 X79, \n instance.private.decl=
are-instance X79 X88 X87 X89 X90, \n if (arity (X96) =3D arity _) true \n =
(if-verbose (header X91 , coq.say X91 closing instance section) ,\n l=
og.coq.env.end-section-name X76), acc-clauses current X89]",
+ "goal_text": "std.do!\n [if (arity (X96) =3D arity X72) \n=
(if-verbose (coq.say HB: skipping section opening) , X73 =3D X71) \n (=
,\n (, (new_int X74) (std.any->string X74 X75) (X76 is hb_instance_ ^ X=
75)) \n (log.coq.env.begin-section X76) \n (instance.private.postul=
ate-arity (arity (X96)) [] X71 X73 X72)), \n std.assert! (coq.safe-dest-ap=
p X72 (global X77) X78) \n The type of the instance is not a factory, fac=
tory-alias->gref X77 X79, \n std.assert! (factory-nparams X79 X80) Not a f=
actory synthesized by HB, \n instance.private.hack-section-discharging X73=
X81, \n instance.private.optimize-body X81 X82, \n if (_ =3D _) \n (, =
(new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ =
^ X84)) (X85 =3D _), \n log.coq.env.add-const-noimplicits-failondup X85 X8=
2 X72 ff X86, \n X87 =3D global (const X86), std.drop X80 X78 [X88 | _], \=
n instance.private.check-non-forgetful-inheritance X88 X79, \n instance.p=
rivate.declare-instance X79 X88 X87 X89 X90, \n if (arity (X96) =3D arity =
_) true \n (if-verbose (header X91 , coq.say X91 closing instance section=
) ,\n log.coq.env.end-section-name X76), acc-clauses current X89]",
"goal_id": 1275
}
],
@@ -24685,13 +23528,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -24710,8 +23551,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -24736,13 +23576,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -24757,8 +23595,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -24790,8 +23627,7 @@
"Inference",
{
"current_goal_id": 1273,
- "current_goal_text":
- "std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global=
(const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \=
n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (X96) X71) \n Def=
inition illtyped",
+ "current_goal_text": "std.assert-ok!\n (coq.elaborate-skeleton\n =
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]=
) (X96) X71) \n Definition illtyped",
"current_goal_predicate": "std.assert-ok!",
"failed_attempts": [],
"successful_attempts": [
@@ -24800,8 +23636,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok=
; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n=
(A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -24823,14 +23658,12 @@
},
"siblings": [
{
- "goal_text":
- "coq.elaborate-skeleton\n (app\n [global (const =C2=AB=
IsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (i=
ndc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (X96) X71 X98",
+ "goal_text": "coq.elaborate-skeleton\n (app\n [global (c=
onst =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (X96) X71 X98",
"goal_id": 1276
},
{ "goal_text": "!", "goal_id": 1277 },
{
- "goal_text":
- "X98 =3D ok ; X98 =3D error X99 , std.fatal-error-w-data=
Definition illtyped X99",
+ "goal_text": "X98 =3D ok ; X98 =3D error X99 , std.fatal-e=
rror-w-data Definition illtyped X99",
"goal_id": 1278
},
{ "goal_text": "!", "goal_id": 1279 }
@@ -24844,8 +23677,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -24921,13 +23753,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -24946,8 +23776,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -24972,13 +23801,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -24993,8 +23820,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -25026,8 +23852,7 @@
"Inference",
{
"current_goal_id": 1276,
- "current_goal_text":
- "coq.elaborate-skeleton\n (app\n [global (const =C2=ABIsSelfA'=
.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=
=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (X96) X71 X98",
+ "current_goal_text": "coq.elaborate-skeleton\n (app\n [global (c=
onst =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (X96) X71 X98",
"current_goal_predicate": "coq.elaborate-skeleton",
"failed_attempts": [],
"successful_attempts": [
@@ -25038,13 +23863,11 @@
},
"siblings": [
{
- "goal_text":
- "X96 =3D app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB)=
, global (indt =C2=ABnat=C2=BB)]",
+ "goal_text": "X96 =3D app [global (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB), global (indt =C2=ABnat=C2=BB)]",
"goal_id": 1280
},
{
- "goal_text":
- "X71 =3D\n app\n [global (const =C2=ABIsSelfA'.phant_Bu=
ild=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB)=
, fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]",
+ "goal_text": "X71 =3D\n app\n [global (const =C2=ABIsSelf=
A'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=
=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]",
"goal_id": 1281
},
{ "goal_text": "X98 =3D ok", "goal_id": 1282 }
@@ -25063,8 +23886,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -25140,13 +23962,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -25165,8 +23985,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -25191,13 +24010,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -25212,8 +24029,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -25245,8 +24061,7 @@
"Inference",
{
"current_goal_id": 1280,
- "current_goal_text":
- "X96 =3D app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global=
(indt =C2=ABnat=C2=BB)]",
+ "current_goal_text": "X96 =3D app [global (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB), global (indt =C2=ABnat=C2=BB)]",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -25281,8 +24096,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -25358,13 +24172,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -25383,8 +24195,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -25409,13 +24220,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -25430,8 +24239,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -25463,8 +24271,7 @@
"Resume",
[
{
- "goal_text":
- "evar X97 (sort (typ =C2=ABinterleave_context.403=C2=BB)) \n (=
app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB)])",
+ "goal_text": "evar X97 (sort (typ =C2=ABinterleave_context.403=
=C2=BB)) \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =
=C2=ABnat=C2=BB)])",
"goal_id": 1268
}
]
@@ -25478,8 +24285,7 @@
"Inference",
{
"current_goal_id": 1268,
- "current_goal_text":
- "evar X97 (sort (typ =C2=ABinterleave_context.403=C2=BB)) \n (ap=
p [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB=
)])",
+ "current_goal_text": "evar X97 (sort (typ =C2=ABinterleave_context=
.403=C2=BB)) \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (i=
ndt =C2=ABnat=C2=BB)])",
"current_goal_predicate": "evar",
"failed_attempts": [],
"successful_attempts": [
@@ -25488,8 +24294,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (de=
clare_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (=
var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -25513,8 +24318,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1283 },
{
- "goal_text":
- "if (var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB)])) \n (declare_constraint\n (evar X97 (s=
ort (typ =C2=ABinterleave_context.403=C2=BB)) \n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n [X97, app=
[global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)=
]]) \n true",
+ "goal_text": "if (var (app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (declare_constraint\n (=
evar X97 (sort (typ =C2=ABinterleave_context.403=C2=BB)) \n (app [globa=
l (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n =
[X97, app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB)]]) \n true",
"goal_id": 1284
}
],
@@ -25527,8 +24331,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -25576,8 +24379,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -25617,8 +24419,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "evar X97 (sort (typ =C2=ABinterleave_context.403=C2=BB)) =
X96",
+ "goal_text": "evar X97 (sort (typ =C2=ABinterleave_context.4=
03=C2=BB)) X96",
"goal_id": 1268
},
"cut_branch": {
@@ -25646,8 +24447,7 @@
"Inference",
{
"current_goal_id": 1284,
- "current_goal_text":
- "if (var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), globa=
l (indt =C2=ABnat=C2=BB)])) \n (declare_constraint\n (evar X97 (sort (typ=
=C2=ABinterleave_context.403=C2=BB)) \n (app [global (indt =C2=ABIsSel=
fA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n [X97, app [global=
(indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]]) \n t=
rue",
+ "current_goal_text": "if (var (app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (declare_constraint\n (=
evar X97 (sort (typ =C2=ABinterleave_context.403=C2=BB)) \n (app [globa=
l (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n =
[X97, app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB)]]) \n true",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -25681,14 +24481,12 @@
},
"siblings": [
{
- "goal_text":
- "var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), g=
lobal (indt =C2=ABnat=C2=BB)])",
+ "goal_text": "var (app [global (indt =C2=ABIsSelfA'.axioms=
_=C2=BB), global (indt =C2=ABnat=C2=BB)])",
"goal_id": 1285
},
{ "goal_text": "!", "goal_id": 1286 },
{
- "goal_text":
- "declare_constraint\n (evar X97 (sort (typ =C2=ABinterle=
ave_context.403=C2=BB)) \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=
=BB), global (indt =C2=ABnat=C2=BB)])) \n [X97, app [global (indt =C2=ABIsS=
elfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]]",
+ "goal_text": "declare_constraint\n (evar X97 (sort (typ =
=C2=ABinterleave_context.403=C2=BB)) \n (app [global (indt =C2=ABIsSelfA'=
.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n [X97, app [global (ind=
t =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]]",
"goal_id": 1287
}
],
@@ -25720,8 +24518,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -25769,8 +24566,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -25807,8 +24603,7 @@
"Inference",
{
"current_goal_id": 1285,
- "current_goal_text":
- "var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (i=
ndt =C2=ABnat=C2=BB)])",
+ "current_goal_text": "var (app [global (indt =C2=ABIsSelfA'.axioms=
_=C2=BB), global (indt =C2=ABnat=C2=BB)])",
"current_goal_predicate": "var",
"failed_attempts": [
{ "rule": [ "BuiltinRule", [ "FFI", "var" ] ], "events": [] }
@@ -25844,8 +24639,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -25893,8 +24687,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -25931,8 +24724,7 @@
"Inference",
{
"current_goal_id": 1284,
- "current_goal_text":
- "if (var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), globa=
l (indt =C2=ABnat=C2=BB)])) \n (declare_constraint\n (evar X97 (sort (typ=
=C2=ABinterleave_context.403=C2=BB)) \n (app [global (indt =C2=ABIsSel=
fA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n [X97, app [global=
(indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]]) \n t=
rue",
+ "current_goal_text": "if (var (app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (declare_constraint\n (=
evar X97 (sort (typ =C2=ABinterleave_context.403=C2=BB)) \n (app [globa=
l (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n =
[X97, app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB)]]) \n true",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -25984,8 +24776,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -26033,8 +24824,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -26142,8 +24932,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -26191,8 +24980,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (decl=
are_constraint (evar A0 A1 A2) [A0, A2]) true).",
+ "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (va=
r A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).",
"rule_loc": [
"File",
{
@@ -26229,8 +25017,7 @@
"Inference",
{
"current_goal_id": 1281,
- "current_goal_text":
- "X71 =3D\n app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=
=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun =
`x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]",
+ "current_goal_text": "X71 =3D\n app\n [global (const =C2=ABIsSelf=
A'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=
=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -26264,8 +25051,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -26341,13 +25127,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -26366,8 +25150,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -26392,13 +25175,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -26413,8 +25194,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -26475,8 +25255,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -26552,13 +25331,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -26577,8 +25354,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -26603,13 +25379,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -26624,8 +25398,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -26660,13 +25433,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [=
global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=
=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]) (X96) X71)=
\n Definition illtyped",
+ "goal_text": "std.assert-ok!\n (coq.elaborate-skeleton\n (=
app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` X0 c0 \\ c0]=
) (X96) X71) \n Definition illtyped",
"goal_id": 1273
},
"cut_branch": {
- "rule_text":
- "(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no di=
agnostic returned).",
+ "rule_text": "(std.assert-ok! _ A0) :- (std.fatal-error-w-da=
ta A0 no diagnostic returned).",
"rule_loc": [
"File",
{
@@ -26690,8 +25461,7 @@
"Inference",
{
"current_goal_id": 1278,
- "current_goal_text":
- "ok =3D ok ; ok =3D error X99 , std.fatal-error-w-data Definitio=
n illtyped X99",
+ "current_goal_text": "ok =3D ok ; ok =3D error X99 , std.fatal-err=
or-w-data Definition illtyped X99",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -26743,8 +25513,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -26820,13 +25589,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -26845,8 +25612,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -26871,13 +25637,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -26892,8 +25656,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -26968,8 +25731,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -27045,13 +25807,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -27070,8 +25830,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -27096,13 +25855,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -27117,8 +25874,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -27153,8 +25909,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "X98 =3D ok ; X98 =3D error X99 , std.fatal-error-w-data D=
efinition illtyped X99",
+ "goal_text": "X98 =3D ok ; X98 =3D error X99 , std.fatal-err=
or-w-data Definition illtyped X99",
"goal_id": 1278
},
"cut_branch": {
@@ -27188,8 +25943,7 @@
"Inference",
{
"current_goal_id": 1275,
- "current_goal_text":
- "std.do!\n [if\n (arity (app [global (indt =C2=ABIsSelfA'.axio=
ms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity X72) \n (if-v=
erbose (coq.say HB: skipping section opening) ,\n X73 =3D\n app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=AB=
nat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =
=C2=ABnat=C2=BB)) c0 \\ c0]) \n (,\n (, (new_int X74) (std.any->strin=
g X74 X75) (X76 is hb_instance_ ^ X75)) \n (log.coq.env.begin-section X=
76) \n (instance.private.postulate-arity\n (arity\n (app =
[global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]=
)) \n [] \n (app\n [global (const =C2=ABIsSelfA'.phant_=
Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=
=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X73 \n =
X72)), \n std.assert! (coq.safe-dest-app X72 (global X77) X78) \n The =
type of the instance is not a factory, factory-alias->gref X77 X79, \n std=
.assert! (factory-nparams X79 X80) Not a factory synthesized by HB, \n ins=
tance.private.hack-section-discharging X73 X81, \n instance.private.optimi=
ze-body X81 X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X8=
3 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.=
env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 =3D global =
(const X86), std.drop X80 X78 [X88 | _], \n instance.private.check-non-for=
getful-inheritance X88 X79, \n instance.private.declare-instance X79 X88 X=
87 X89 X90, \n if\n (arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=
=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity _) true \n (if-verb=
ose (header X91 , coq.say X91 closing instance section) ,\n log.coq.env=
.end-section-name X76), acc-clauses current X89]",
+ "current_goal_text": "std.do!\n [if\n (arity (app [global (indt =
=C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n ar=
ity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X7=
3 =3D\n app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), =
global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `=
x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) \n (,\n (, (new_int X74=
) (std.any->string X74 X75) (X76 is hb_instance_ ^ X75)) \n (log.coq.en=
v.begin-section X76) \n (instance.private.postulate-arity\n (arit=
y\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =
=C2=ABnat=C2=BB)])) \n [] \n (app\n [global (const =C2=
=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ =
c0]) X73 \n X72)), \n std.assert! (coq.safe-dest-app X72 (global X77=
) X78) \n The type of the instance is not a factory, factory-alias->gref =
X77 X79, \n std.assert! (factory-nparams X79 X80) Not a factory synthesize=
d by HB, \n instance.private.hack-section-discharging X73 X81, \n instanc=
e.private.optimize-body X81 X82, \n if (_ =3D _) \n (, (new_int X83) (st=
d.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D =
_), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n =
X87 =3D global (const X86), std.drop X80 X78 [X88 | _], \n instance.priva=
te.check-non-forgetful-inheritance X88 X79, \n instance.private.declare-in=
stance X79 X88 X87 X89 X90, \n if\n (arity (app [global (indt =C2=ABIsSe=
lfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity _) tru=
e \n (if-verbose (header X91 , coq.say X91 closing instance section) ,\n =
log.coq.env.end-section-name X76), acc-clauses current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -27198,8 +25952,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -27224,14 +25977,12 @@
},
"siblings": [
{
- "goal_text":
- "if\n (arity (app [global (indt =C2=ABIsSelfA'.axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity X72) \n (if-verbose =
(coq.say HB: skipping section opening) ,\n X73 =3D\n app\n [global=
(const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \=
n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB))=
c0 \\ c0]) \n (, (, (new_int X74) (std.any->string X74 X75) (X76 is hb_ins=
tance_ ^ X75)) \n (log.coq.env.begin-section X76) \n (instance.private.=
postulate-arity\n (arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=
=BB), global (indt =C2=ABnat=C2=BB)])) \n [] \n (app\n [globa=
l (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), =
\n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=
=BB)) c0 \\ c0]) X73 \n X72))",
+ "goal_text": "if\n (arity (app [global (indt =C2=ABIsSelfA=
'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity X72) \n (if=
-verbose (coq.say HB: skipping section opening) ,\n X73 =3D\n app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABn=
at=C2=BB)) c0 \\ c0]) \n (, (, (new_int X74) (std.any->string X74 X75) (X76=
is hb_instance_ ^ X75)) \n (log.coq.env.begin-section X76) \n (instanc=
e.private.postulate-arity\n (arity (app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n [] \n (app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=
=ABnat=C2=BB)) c0 \\ c0]) X73 \n X72))",
"goal_id": 1290
},
{ "goal_text": "!", "goal_id": 1291 },
{
- "goal_text":
- "std.do!\n [std.assert! (coq.safe-dest-app X72 (global X=
77) X78) \n The type of the instance is not a factory, factory-alias->gre=
f X77 X79, \n std.assert! (factory-nparams X79 X80) Not a factory synthesi=
zed by HB, \n instance.private.hack-section-discharging X73 X81, \n insta=
nce.private.optimize-body X81 X82, \n if (_ =3D _) \n (, (new_int X83) (=
std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =
=3D _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86,=
\n X87 =3D global (const X86), std.drop X80 X78 [X88 | _], \n instance.p=
rivate.check-non-forgetful-inheritance X88 X79, \n instance.private.declar=
e-instance X79 X88 X87 X89 X90, \n if\n (arity (app [global (indt =C2=AB=
IsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity _)=
true \n (if-verbose (header X91 , coq.say X91 closing instance section) =
,\n log.coq.env.end-section-name X76), acc-clauses current X89]",
+ "goal_text": "std.do!\n [std.assert! (coq.safe-dest-app X7=
2 (global X77) X78) \n The type of the instance is not a factory, factory=
-alias->gref X77 X79, \n std.assert! (factory-nparams X79 X80) Not a facto=
ry synthesized by HB, \n instance.private.hack-section-discharging X73 X81=
, \n instance.private.optimize-body X81 X82, \n if (_ =3D _) \n (, (new=
_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X8=
4)) (X85 =3D _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X7=
2 ff X86, \n X87 =3D global (const X86), std.drop X80 X78 [X88 | _], \n i=
nstance.private.check-non-forgetful-inheritance X88 X79, \n instance.priva=
te.declare-instance X79 X88 X87 X89 X90, \n if\n (arity (app [global (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n =
arity _) true \n (if-verbose (header X91 , coq.say X91 closing instance =
section) ,\n log.coq.env.end-section-name X76), acc-clauses current X89=
]",
"goal_id": 1292
}
],
@@ -27320,13 +26071,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -27345,8 +26094,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -27371,13 +26119,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -27392,8 +26138,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -27425,8 +26170,7 @@
"Inference",
{
"current_goal_id": 1290,
- "current_goal_text":
- "if\n (arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), g=
lobal (indt =C2=ABnat=C2=BB)]) =3D\n arity X72) \n (if-verbose (coq.say H=
B: skipping section opening) ,\n X73 =3D\n app\n [global (const =
=C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n g=
lobal (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c=
0]) \n (, (, (new_int X74) (std.any->string X74 X75) (X76 is hb_instance_ ^=
X75)) \n (log.coq.env.begin-section X76) \n (instance.private.postulat=
e-arity\n (arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), glob=
al (indt =C2=ABnat=C2=BB)])) \n [] \n (app\n [global (const =
=C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\=
c0]) X73 \n X72))",
+ "current_goal_text": "if\n (arity (app [global (indt =C2=ABIsSelfA=
'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity X72) \n (if=
-verbose (coq.say HB: skipping section opening) ,\n X73 =3D\n app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABn=
at=C2=BB)) c0 \\ c0]) \n (, (, (new_int X74) (std.any->string X74 X75) (X76=
is hb_instance_ ^ X75)) \n (log.coq.env.begin-section X76) \n (instanc=
e.private.postulate-arity\n (arity (app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n [] \n (app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=
=ABnat=C2=BB)) c0 \\ c0]) X73 \n X72))",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -27460,14 +26204,12 @@
},
"siblings": [
{
- "goal_text":
- "arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB),=
global (indt =C2=ABnat=C2=BB)]) =3D\n arity X72",
+ "goal_text": "arity (app [global (indt =C2=ABIsSelfA'.axio=
ms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity X72",
"goal_id": 1293
},
{ "goal_text": "!", "goal_id": 1294 },
{
- "goal_text":
- "if-verbose (coq.say HB: skipping section opening) ,\n X=
73 =3D\n app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global =
(indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global =
(indt =C2=ABnat=C2=BB)) c0 \\ c0]",
+ "goal_text": "if-verbose (coq.say HB: skipping section ope=
ning) ,\n X73 =3D\n app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=
=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun=
`x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]",
"goal_id": 1295
}
],
@@ -27575,13 +26317,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -27600,8 +26340,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -27626,13 +26365,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -27647,8 +26384,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -27680,8 +26416,7 @@
"Inference",
{
"current_goal_id": 1293,
- "current_goal_text":
- "arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global =
(indt =C2=ABnat=C2=BB)]) =3D\n arity X72",
+ "current_goal_text": "arity (app [global (indt =C2=ABIsSelfA'.axio=
ms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity X72",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -27805,13 +26540,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -27830,8 +26563,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -27856,13 +26588,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -27877,8 +26607,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -27913,8 +26642,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "if\n (arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=
=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity X72) \n (if-verbose (co=
q.say HB: skipping section opening) ,\n X73 =3D\n app\n [global (c=
onst =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0=
\\ c0]) \n (, (, (new_int X74) (std.any->string X74 X75) (X76 is hb_instan=
ce_ ^ X75)) \n (log.coq.env.begin-section X76) \n (instance.private.pos=
tulate-arity\n (arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB),=
global (indt =C2=ABnat=C2=BB)])) \n [] \n (app\n [global (co=
nst =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c=
0 \\ c0]) X73 \n X72))",
+ "goal_text": "if\n (arity (app [global (indt =C2=ABIsSelfA'.=
axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity X72) \n (if-v=
erbose (coq.say HB: skipping section opening) ,\n X73 =3D\n app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=
=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=
=C2=BB)) c0 \\ c0]) \n (, (, (new_int X74) (std.any->string X74 X75) (X76 i=
s hb_instance_ ^ X75)) \n (log.coq.env.begin-section X76) \n (instance.=
private.postulate-arity\n (arity (app [global (indt =C2=ABIsSelfA'.axio=
ms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n [] \n (app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=
=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABna=
t=C2=BB)) c0 \\ c0]) X73 \n X72))",
"goal_id": 1290
},
"cut_branch": {
@@ -27942,8 +26670,7 @@
"Inference",
{
"current_goal_id": 1295,
- "current_goal_text":
- "if-verbose (coq.say HB: skipping section opening) ,\n X73 =3D\n=
app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =
=C2=ABnat=C2=BB)) c0 \\ c0]",
+ "current_goal_text": "if-verbose (coq.say HB: skipping section ope=
ning) ,\n X73 =3D\n app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=
=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun=
`x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]",
"current_goal_predicate": ",",
"failed_attempts": [],
"successful_attempts": [
@@ -27954,13 +26681,11 @@
},
"siblings": [
{
- "goal_text":
- "if-verbose (coq.say HB: skipping section opening)",
+ "goal_text": "if-verbose (coq.say HB: skipping section ope=
ning)",
"goal_id": 1296
},
{
- "goal_text":
- "X73 =3D\n app\n [global (const =C2=ABIsSelfA'.phant_Bu=
ild=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB)=
, fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]",
+ "goal_text": "X73 =3D\n app\n [global (const =C2=ABIsSelf=
A'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=
=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]",
"goal_id": 1297
}
],
@@ -28073,13 +26798,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -28098,8 +26821,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -28124,13 +26846,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -28145,8 +26865,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -28178,8 +26897,7 @@
"Inference",
{
"current_goal_id": 1296,
- "current_goal_text":
- "if-verbose (coq.say HB: skipping section opening)",
+ "current_goal_text": "if-verbose (coq.say HB: skipping section ope=
ning)",
"current_goal_predicate": "if-verbose",
"failed_attempts": [],
"successful_attempts": [
@@ -28188,13 +26906,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(if-verbose A0) :- (get-option verbose tt), (!), A0.",
+ "rule_text": "(if-verbose A0) :- (get-option verbose tt)=
, (!), A0.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
utils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/utils.elpi",
"line": 51,
"column": 0,
"character": 1529
@@ -28223,13 +26939,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(if-verbose A0) :- (get-option verbose tt), (!), A0.",
+ "rule_text": "(if-verbose A0) :- (get-option verbose tt), =
(!), A0.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 51,
"column": 0,
"character": 1529
@@ -28344,13 +27058,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -28369,8 +27081,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -28395,13 +27106,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -28416,8 +27125,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -28459,13 +27167,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(if-verbose A0) :- (get-option verbose tt), (!), A0.",
+ "rule_text": "(if-verbose A0) :- (get-option verbose tt), =
(!), A0.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 51,
"column": 0,
"character": 1529
@@ -28580,13 +27286,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -28605,8 +27309,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -28631,13 +27334,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -28652,8 +27353,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -28685,8 +27385,7 @@
"Inference",
{
"current_goal_id": 1296,
- "current_goal_text":
- "if-verbose (coq.say HB: skipping section opening)",
+ "current_goal_text": "if-verbose (coq.say HB: skipping section ope=
ning)",
"current_goal_predicate": "if-verbose",
"failed_attempts": [],
"successful_attempts": [
@@ -28699,8 +27398,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
utils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/utils.elpi",
"line": 52,
"column": 0,
"character": 1576
@@ -28724,8 +27422,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 52,
"column": 0,
"character": 1576
@@ -28840,13 +27537,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -28865,8 +27560,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -28891,13 +27585,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -28912,8 +27604,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -28945,8 +27636,7 @@
"Inference",
{
"current_goal_id": 1297,
- "current_goal_text":
- "X73 =3D\n app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=
=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun =
`x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]",
+ "current_goal_text": "X73 =3D\n app\n [global (const =C2=ABIsSelf=
A'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=
=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -29075,13 +27765,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -29100,8 +27788,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -29126,13 +27813,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -29147,8 +27832,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -29186,8 +27870,7 @@
"Inference",
{
"current_goal_id": 1292,
- "current_goal_text":
- "std.do!\n [std.assert!\n (coq.safe-dest-app\n (app [globa=
l (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n =
(global X77) X78) The type of the instance is not a factory, \n factory=
-alias->gref X77 X79, \n std.assert! (factory-nparams X79 X80) Not a facto=
ry synthesized by HB, \n instance.private.hack-section-discharging\n (ap=
p\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=
=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =
=C2=ABnat=C2=BB)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X8=
2, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84) \n =
(X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-const-=
noimplicits-failondup X85 X82 \n (app [global (indt =C2=ABIsSelfA'.axioms=
_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D global (const=
X86), std.drop X80 X78 [X88 | _], \n instance.private.check-non-forgetful=
-inheritance X88 X79, \n instance.private.declare-instance X79 X88 X87 X89=
X90, \n if\n (arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), g=
lobal (indt =C2=ABnat=C2=BB)]) =3D\n arity _) true \n (if-verbose (he=
ader X91 , coq.say X91 closing instance section) ,\n log.coq.env.end-se=
ction-name X76), acc-clauses current X89]",
+ "current_goal_text": "std.do!\n [std.assert!\n (coq.safe-dest-ap=
p\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB)]) \n (global X77) X78) The type of the instance is not a =
factory, \n factory-alias->gref X77 X79, \n std.assert! (factory-nparams =
X79 X80) Not a factory synthesized by HB, \n instance.private.hack-section=
-discharging\n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB=
), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun =
`x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X81, \n instance.private.op=
timize-body X81 X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->strin=
g X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.=
coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87=
=3D global (const X86), std.drop X80 X78 [X88 | _], \n instance.private.c=
heck-non-forgetful-inheritance X88 X79, \n instance.private.declare-instan=
ce X79 X88 X87 X89 X90, \n if\n (arity (app [global (indt =C2=ABIsSelfA'=
.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity _) true \n=
(if-verbose (header X91 , coq.say X91 closing instance section) ,\n =
log.coq.env.end-section-name X76), acc-clauses current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -29196,8 +27879,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -29222,14 +27904,12 @@
},
"siblings": [
{
- "goal_text":
- "std.assert!\n (coq.safe-dest-app\n (app [global (indt=
=C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (globa=
l X77) X78) The type of the instance is not a factory",
+ "goal_text": "std.assert!\n (coq.safe-dest-app\n (app [g=
lobal (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =
\n (global X77) X78) The type of the instance is not a factory",
"goal_id": 1301
},
{ "goal_text": "!", "goal_id": 1302 },
{
- "goal_text":
- "std.do!\n [factory-alias->gref X77 X79, \n std.assert!=
(factory-nparams X79 X80) Not a factory synthesized by HB, \n instance.pr=
ivate.hack-section-discharging\n (app\n [global (const =C2=ABIsSelfA'=
.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =
=C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X81, \n =
instance.private.optimize-body X81 X82, \n if (_ =3D _) \n (, (new_int =
X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (=
X85 =3D _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (a=
pp [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB)]) ff X86, \n X87 =3D global (const X86), std.drop X80 X78 [X88 | _], =
\n instance.private.check-non-forgetful-inheritance X88 X79, \n instance.=
private.declare-instance X79 X88 X87 X89 X90, \n if\n (arity (app [globa=
l (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\=
n arity _) true \n (if-verbose (header X91 , coq.say X91 closing inst=
ance section) ,\n log.coq.env.end-section-name X76), acc-clauses curren=
t X89]",
+ "goal_text": "std.do!\n [factory-alias->gref X77 X79, \n =
std.assert! (factory-nparams X79 X80) Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n (app\n [global (const =C2=
=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n glob=
al (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0])=
X81, \n instance.private.optimize-body X81 X82, \n if (_ =3D _) \n (, =
(new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ =
^ X84)) (X85 =3D _), \n log.coq.env.add-const-noimplicits-failondup X85 X8=
2 \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB)]) ff X86, \n X87 =3D global (const X86), std.drop X80 X78 [X=
88 | _], \n instance.private.check-non-forgetful-inheritance X88 X79, \n =
instance.private.declare-instance X79 X88 X87 X89 X90, \n if\n (arity (a=
pp [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB)]) =3D\n arity _) true \n (if-verbose (header X91 , coq.say X91 c=
losing instance section) ,\n log.coq.env.end-section-name X76), acc-cla=
uses current X89]",
"goal_id": 1303
}
],
@@ -29337,13 +28017,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -29362,8 +28040,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -29388,13 +28065,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -29409,8 +28084,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -29442,8 +28116,7 @@
"Inference",
{
"current_goal_id": 1301,
- "current_goal_text":
- "std.assert!\n (coq.safe-dest-app\n (app [global (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global X77) X=
78) The type of the instance is not a factory",
+ "current_goal_text": "std.assert!\n (coq.safe-dest-app\n (app [g=
lobal (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =
\n (global X77) X78) The type of the instance is not a factory",
"current_goal_predicate": "std.assert!",
"failed_attempts": [],
"successful_attempts": [
@@ -29452,8 +28125,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A=
1 A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-err=
or-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -29477,8 +28149,7 @@
},
"siblings": [
{
- "goal_text":
- "coq.safe-dest-app\n (app [global (indt =C2=ABIsSelfA'.a=
xioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global X77) X78 ;\n std.=
fatal-error-w-data The type of the instance is not a factory \n (coq.safe-=
dest-app\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (ind=
t =C2=ABnat=C2=BB)]) \n (global X77) X78)",
+ "goal_text": "coq.safe-dest-app\n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global X77)=
X78 ;\n std.fatal-error-w-data The type of the instance is not a factory \=
n (coq.safe-dest-app\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB)=
, global (indt =C2=ABnat=C2=BB)]) \n (global X77) X78)",
"goal_id": 1304
},
{ "goal_text": "!", "goal_id": 1305 }
@@ -29492,8 +28163,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -29607,13 +28277,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -29632,8 +28300,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -29658,13 +28325,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -29679,8 +28344,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -29712,8 +28376,7 @@
"Inference",
{
"current_goal_id": 1304,
- "current_goal_text":
- "coq.safe-dest-app\n (app [global (indt =C2=ABIsSelfA'.axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global X77) X78 ;\n std.fatal-=
error-w-data The type of the instance is not a factory \n (coq.safe-dest-a=
pp\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB)]) \n (global X77) X78)",
+ "current_goal_text": "coq.safe-dest-app\n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global X77)=
X78 ;\n std.fatal-error-w-data The type of the instance is not a factory \=
n (coq.safe-dest-app\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB)=
, global (indt =C2=ABnat=C2=BB)]) \n (global X77) X78)",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -29743,8 +28406,7 @@
},
"siblings": [
{
- "goal_text":
- "coq.safe-dest-app\n (app [global (indt =C2=ABIsSelfA'.a=
xioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global X77) X78",
+ "goal_text": "coq.safe-dest-app\n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global X77)=
X78",
"goal_id": 1306
}
],
@@ -29776,8 +28438,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -29891,13 +28552,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -29916,8 +28575,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -29942,13 +28600,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -29963,8 +28619,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -29996,8 +28651,7 @@
"Inference",
{
"current_goal_id": 1306,
- "current_goal_text":
- "coq.safe-dest-app\n (app [global (indt =C2=ABIsSelfA'.axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global X77) X78",
+ "current_goal_text": "coq.safe-dest-app\n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global X77)=
X78",
"current_goal_predicate": "coq.safe-dest-app",
"failed_attempts": [],
"successful_attempts": [
@@ -30006,8 +28660,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :- (!), \n =
(coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
+ "rule_text": "(coq.safe-dest-app (app [A0 | A1]) A2 A3) =
:- (!), \n (coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
"rule_loc": [
"File",
{
@@ -30029,8 +28682,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1307 },
{
- "goal_text":
- "coq.safe-dest-app (global (indt =C2=ABIsSelfA'.axioms_=
=C2=BB)) (global X77) X100",
+ "goal_text": "coq.safe-dest-app (global (indt =C2=ABIsSelf=
A'.axioms_=C2=BB)) (global X77) X100",
"goal_id": 1308
},
{
@@ -30047,8 +28699,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :- (!), \n (c=
oq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
+ "rule_text": "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :-=
(!), \n (coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
"rule_loc": [
"File",
{
@@ -30086,8 +28737,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -30201,13 +28851,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -30226,8 +28874,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -30252,13 +28899,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -30273,8 +28918,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -30309,8 +28953,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "coq.safe-dest-app\n (app [global (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global X77) X78",
+ "goal_text": "coq.safe-dest-app\n (app [global (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global X77) X78=
",
"goal_id": 1306
},
"cut_branch": {
@@ -30338,8 +28981,7 @@
"Inference",
{
"current_goal_id": 1308,
- "current_goal_text":
- "coq.safe-dest-app (global (indt =C2=ABIsSelfA'.axioms_=C2=BB)) =
(global X77) X100",
+ "current_goal_text": "coq.safe-dest-app (global (indt =C2=ABIsSelf=
A'.axioms_=C2=BB)) (global X77) X100",
"current_goal_predicate": "coq.safe-dest-app",
"failed_attempts": [],
"successful_attempts": [
@@ -30395,8 +29037,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :- (!), \n (c=
oq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
+ "rule_text": "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :-=
(!), \n (coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
"rule_loc": [
"File",
{
@@ -30434,8 +29075,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -30549,13 +29189,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -30574,8 +29212,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -30600,13 +29237,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -30621,8 +29256,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -30709,8 +29343,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :- (!), \n (c=
oq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
+ "rule_text": "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :-=
(!), \n (coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
"rule_loc": [
"File",
{
@@ -30748,8 +29381,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -30863,13 +29495,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -30888,8 +29518,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -30914,13 +29543,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -30935,8 +29562,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -30971,8 +29597,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "coq.safe-dest-app\n (app [global (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global X77) X78 ;\n std.fa=
tal-error-w-data The type of the instance is not a factory \n (coq.safe-de=
st-app\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =
=C2=ABnat=C2=BB)]) \n (global X77) X78)",
+ "goal_text": "coq.safe-dest-app\n (app [global (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global X77) X78=
;\n std.fatal-error-w-data The type of the instance is not a factory \n (=
coq.safe-dest-app\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), gl=
obal (indt =C2=ABnat=C2=BB)]) \n (global X77) X78)",
"goal_id": 1304
},
"cut_branch": {
@@ -31006,8 +29631,7 @@
"Inference",
{
"current_goal_id": 1303,
- "current_goal_text":
- "std.do!\n [factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) X79, \n std.assert! (factory-nparams X79 X80) Not a factory synthesiz=
ed by HB, \n instance.private.hack-section-discharging\n (app\n [glo=
bal (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB)=
, \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=
=BB)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_=
=3D _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_u=
nnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-const-noimplicits-=
failondup X85 X82 \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), gl=
obal (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D global (const X86), std.d=
rop X80 [global (indt =C2=ABnat=C2=BB)] [X88 | _], \n instance.private.che=
ck-non-forgetful-inheritance X88 X79, \n instance.private.declare-instance=
X79 X88 X87 X89 X90, \n if\n (arity (app [global (indt =C2=ABIsSelfA'.a=
xioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity _) true \n =
(if-verbose (header X91 , coq.say X91 closing instance section) ,\n lo=
g.coq.env.end-section-name X76), acc-clauses current X89]",
+ "current_goal_text": "std.do!\n [factory-alias->gref (indt =C2=ABI=
sSelfA'.axioms_=C2=BB) X79, \n std.assert! (factory-nparams X79 X80) Not a=
factory synthesized by HB, \n instance.private.hack-section-discharging\n=
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (ind=
t =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (i=
ndt =C2=ABnat=C2=BB)) c0 \\ c0]) X81, \n instance.private.optimize-body X8=
1 X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84) \n =
(X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-co=
nst-noimplicits-failondup X85 X82 \n (app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D global (c=
onst X86), std.drop X80 [global (indt =C2=ABnat=C2=BB)] [X88 | _], \n inst=
ance.private.check-non-forgetful-inheritance X88 X79, \n instance.private.=
declare-instance X79 X88 X87 X89 X90, \n if\n (arity (app [global (indt =
=C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n ar=
ity _) true \n (if-verbose (header X91 , coq.say X91 closing instance sec=
tion) ,\n log.coq.env.end-section-name X76), acc-clauses current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -31016,8 +29640,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -31042,14 +29665,12 @@
},
"siblings": [
{
- "goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=BB)=
X79",
+ "goal_text": "factory-alias->gref (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB) X79",
"goal_id": 1310
},
{ "goal_text": "!", "goal_id": 1311 },
{
- "goal_text":
- "std.do!\n [std.assert! (factory-nparams X79 X80) Not a =
factory synthesized by HB, \n instance.private.hack-section-discharging\n =
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt=
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (in=
dt =C2=ABnat=C2=BB)) c0 \\ c0]) X81, \n instance.private.optimize-body X81=
X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84) \n =
(X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-con=
st-noimplicits-failondup X85 X82 \n (app [global (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D global (co=
nst X86), std.drop X80 [global (indt =C2=ABnat=C2=BB)] [X88 | _], \n insta=
nce.private.check-non-forgetful-inheritance X88 X79, \n instance.private.d=
eclare-instance X79 X88 X87 X89 X90, \n if\n (arity (app [global (indt =
=C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n ar=
ity _) true \n (if-verbose (header X91 , coq.say X91 closing instance sec=
tion) ,\n log.coq.env.end-section-name X76), acc-clauses current X89]",
+ "goal_text": "std.do!\n [std.assert! (factory-nparams X79 =
X80) Not a factory synthesized by HB, \n instance.private.hack-section-dis=
charging\n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), g=
lobal (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` =
(global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X81, \n instance.private.optimi=
ze-body X81 X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X8=
3 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.=
env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D=
global (const X86), std.drop X80 [global (indt =C2=ABnat=C2=BB)] [X88 | _]=
, \n instance.private.check-non-forgetful-inheritance X88 X79, \n instanc=
e.private.declare-instance X79 X88 X87 X89 X90, \n if\n (arity (app [glo=
bal (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =
=3D\n arity _) true \n (if-verbose (header X91 , coq.say X91 closing =
instance section) ,\n log.coq.env.end-section-name X76), acc-clauses cu=
rrent X89]",
"goal_id": 1312
}
],
@@ -31176,13 +29797,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -31201,8 +29820,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -31227,13 +29845,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -31248,8 +29864,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -31281,8 +29896,7 @@
"Inference",
{
"current_goal_id": 1310,
- "current_goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=BB) X79",
+ "current_goal_text": "factory-alias->gref (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB) X79",
"current_goal_predicate": "factory-alias->gref",
"failed_attempts": [],
"successful_attempts": [
@@ -31291,13 +29905,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _)=
, (!).",
+ "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbr=
ev A1 A0 _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 74,
"column": 0,
"character": 2385
@@ -31326,13 +29938,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), =
(!).",
+ "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev=
A1 A0 _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 74,
"column": 0,
"character": 2385
@@ -31461,13 +30071,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -31486,8 +30094,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -31512,13 +30119,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -31533,8 +30138,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -31573,8 +30177,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB=
) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -31598,8 +30201,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABHasA.Axioms_=C2=BB) (const =
=C2=ABHasA.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasA.Build=C2=BB=
) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABHasA.Axioms_=C2=BB=
) (const =C2=ABHasA.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasA.Bu=
ild=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -31623,8 +30225,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB) (const =
=C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB=
) (const =C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -31648,8 +30249,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABHasB.Axioms_=C2=BB) (const =
=C2=ABHasB.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasB.Build=C2=BB=
) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABHasB.Axioms_=C2=BB=
) (const =C2=ABHasB.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasB.Bu=
ild=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -31673,8 +30273,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=BB) (const=
=C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA.axi=
oms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=
=BB) (const =C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.=
IsSelfA.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -31698,8 +30297,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABIsSelfA.Axioms_=C2=BB) (const=
=C2=ABIsSelfA.phant_Build=C2=BB) \n =C2=ABinterleave_context.IsSelfA.Buil=
d=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABIsSelfA.Axioms_=C2=
=BB) (const =C2=ABIsSelfA.phant_Build=C2=BB) \n =C2=ABinterleave_context.I=
sSelfA.Build=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -31723,8 +30321,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=C2=BB) (cons=
t =C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA'.=
axioms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (const =C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_cont=
ext.IsSelfA'.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -31748,8 +30345,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABIsSelfA'.Axioms_=C2=BB) (cons=
t =C2=ABIsSelfA'.phant_Build=C2=BB) \n =C2=ABinterleave_context.IsSelfA'.B=
uild=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB) (const =C2=ABIsSelfA'.phant_Build=C2=BB) \n =C2=ABinterleave_conte=
xt.IsSelfA'.Build=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -31777,8 +30373,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB=
) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -31797,13 +30392,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), =
(!).",
+ "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev=
A1 A0 _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 74,
"column": 0,
"character": 2385
@@ -31932,13 +30525,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -31957,8 +30548,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -31983,13 +30573,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -32004,8 +30592,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -32037,8 +30624,7 @@
"Inference",
{
"current_goal_id": 1310,
- "current_goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=BB) X79",
+ "current_goal_text": "factory-alias->gref (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB) X79",
"current_goal_predicate": "factory-alias->gref",
"failed_attempts": [],
"successful_attempts": [
@@ -32047,13 +30633,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _),=
(!).",
+ "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbr=
ev A0 _ _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 75,
"column": 0,
"character": 2443
@@ -32082,13 +30666,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (=
!).",
+ "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev=
A0 _ _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 75,
"column": 0,
"character": 2443
@@ -32217,13 +30799,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -32242,8 +30822,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -32268,13 +30847,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -32289,8 +30866,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -32329,8 +30905,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB) (const =
=C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB=
) (const =C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -32353,8 +30928,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=BB) (const=
=C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA.axi=
oms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=
=BB) (const =C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.=
IsSelfA.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -32377,8 +30951,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=C2=BB) (cons=
t =C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA'.=
axioms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (const =C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_cont=
ext.IsSelfA'.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -32399,8 +30972,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=
=BB) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.Has=
A.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -32429,8 +31001,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB=
) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -32449,13 +31020,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (=
!).",
+ "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev=
A0 _ _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 75,
"column": 0,
"character": 2443
@@ -32584,13 +31153,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -32609,8 +31176,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -32635,13 +31201,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -32656,8 +31220,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -32692,13 +31255,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=BB) X=
79",
+ "goal_text": "factory-alias->gref (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB) X79",
"goal_id": 1310
},
"cut_branch": {
- "rule_text":
- "(factory-alias->gref (indt =C2=ABA.axioms_=C2=BB) (indt =
=C2=ABA.axioms_=C2=BB)) :- .",
+ "rule_text": "(factory-alias->gref (indt =C2=ABA.axioms_=C2=
=BB) (indt =C2=ABA.axioms_=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -32712,13 +31273,11 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=BB) X=
79",
+ "goal_text": "factory-alias->gref (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB) X79",
"goal_id": 1310
},
"cut_branch": {
- "rule_text":
- "(factory-alias->gref (indt =C2=ABB.axioms_=C2=BB) (indt =
=C2=ABB.axioms_=C2=BB)) :- .",
+ "rule_text": "(factory-alias->gref (indt =C2=ABB.axioms_=C2=
=BB) (indt =C2=ABB.axioms_=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -32732,13 +31291,11 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=BB) X=
79",
+ "goal_text": "factory-alias->gref (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB) X79",
"goal_id": 1310
},
"cut_branch": {
- "rule_text":
- "(factory-alias->gref (indt =C2=ABSelfA.axioms_=C2=BB) (in=
dt =C2=ABSelfA.axioms_=C2=BB)) :- .",
+ "rule_text": "(factory-alias->gref (indt =C2=ABSelfA.axioms_=
=C2=BB) (indt =C2=ABSelfA.axioms_=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -32768,8 +31325,7 @@
"Inference",
{
"current_goal_id": 1312,
- "current_goal_text":
- "std.do!\n [std.assert! (factory-nparams (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) X80) \n Not a factory synthesized by HB, \n instance.privat=
e.hack-section-discharging\n (app\n [global (const =C2=ABIsSelfA'.pha=
nt_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=AB=
O=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X81, \n insta=
nce.private.optimize-body X81 X82, \n if (_ =3D _) \n (, (new_int X83) (=
std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =
=3D _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [=
global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])=
ff X86, \n X87 =3D global (const X86), std.drop X80 [global (indt =C2=ABn=
at=C2=BB)] [X88 | _], \n instance.private.check-non-forgetful-inheritance =
X88 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n instance.private.declare-=
instance (indt =C2=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \n if\n=
(arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =
=C2=ABnat=C2=BB)]) =3D\n arity _) true \n (if-verbose (header X91 , c=
oq.say X91 closing instance section) ,\n log.coq.env.end-section-name X=
76), acc-clauses current X89]",
+ "current_goal_text": "std.do!\n [std.assert! (factory-nparams (ind=
t =C2=ABIsSelfA'.axioms_=C2=BB) X80) \n Not a factory synthesized by HB, =
\n instance.private.hack-section-discharging\n (app\n [global (const=
=C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ =
c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ =3D _) \n =
(, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_facto=
ry_ ^ X84)) (X85 =3D _), \n log.coq.env.add-const-noimplicits-failondup X8=
5 X82 \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =
=C2=ABnat=C2=BB)]) ff X86, \n X87 =3D global (const X86), std.drop X80 [gl=
obal (indt =C2=ABnat=C2=BB)] [X88 | _], \n instance.private.check-non-forg=
etful-inheritance X88 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n instanc=
e.private.declare-instance (indt =C2=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 =
\n X90, \n if\n (arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB)]) =3D\n arity _) true \n (if-verbose=
(header X91 , coq.say X91 closing instance section) ,\n log.coq.env.en=
d-section-name X76), acc-clauses current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -32778,8 +31334,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -32804,14 +31359,12 @@
},
"siblings": [
{
- "goal_text":
- "std.assert! (factory-nparams (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB) X80) \n Not a factory synthesized by HB",
+ "goal_text": "std.assert! (factory-nparams (indt =C2=ABIsS=
elfA'.axioms_=C2=BB) X80) \n Not a factory synthesized by HB",
"goal_id": 1317
},
{ "goal_text": "!", "goal_id": 1318 },
{
- "goal_text":
- "std.do!\n [instance.private.hack-section-discharging\n =
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt=
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (in=
dt =C2=ABnat=C2=BB)) c0 \\ c0]) X81, \n instance.private.optimize-body X81=
X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84) \n =
(X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-con=
st-noimplicits-failondup X85 X82 \n (app [global (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D global (co=
nst X86), std.drop X80 [global (indt =C2=ABnat=C2=BB)] [X88 | _], \n insta=
nce.private.check-non-forgetful-inheritance X88 \n (indt =C2=ABIsSelfA'.a=
xioms_=C2=BB), \n instance.private.declare-instance (indt =C2=ABIsSelfA'.a=
xioms_=C2=BB) X88 X87 X89 \n X90, \n if\n (arity (app [global (indt =
=C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n ar=
ity _) true \n (if-verbose (header X91 , coq.say X91 closing instance sec=
tion) ,\n log.coq.env.end-section-name X76), acc-clauses current X89]",
+ "goal_text": "std.do!\n [instance.private.hack-section-dis=
charging\n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), g=
lobal (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` =
(global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X81, \n instance.private.optimi=
ze-body X81 X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X8=
3 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.=
env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D=
global (const X86), std.drop X80 [global (indt =C2=ABnat=C2=BB)] [X88 | _]=
, \n instance.private.check-non-forgetful-inheritance X88 \n (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), \n instance.private.declare-instance (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \n if\n (arity (app [gl=
obal (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =
=3D\n arity _) true \n (if-verbose (header X91 , coq.say X91 closing =
instance section) ,\n log.coq.env.end-section-name X76), acc-clauses cu=
rrent X89]",
"goal_id": 1319
}
],
@@ -32957,13 +31510,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -32982,8 +31533,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -33008,13 +31558,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -33029,8 +31577,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -33062,8 +31609,7 @@
"Inference",
{
"current_goal_id": 1317,
- "current_goal_text":
- "std.assert! (factory-nparams (indt =C2=ABIsSelfA'.axioms_=C2=BB=
) X80) \n Not a factory synthesized by HB",
+ "current_goal_text": "std.assert! (factory-nparams (indt =C2=ABIsS=
elfA'.axioms_=C2=BB) X80) \n Not a factory synthesized by HB",
"current_goal_predicate": "std.assert!",
"failed_attempts": [],
"successful_attempts": [
@@ -33072,8 +31618,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A=
1 A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-err=
or-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -33095,8 +31640,7 @@
},
"siblings": [
{
- "goal_text":
- "factory-nparams (indt =C2=ABIsSelfA'.axioms_=C2=BB) X80=
;\n std.fatal-error-w-data Not a factory synthesized by HB \n (factory-np=
arams (indt =C2=ABIsSelfA'.axioms_=C2=BB) X80)",
+ "goal_text": "factory-nparams (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) X80 ;\n std.fatal-error-w-data Not a factory synthesized by HB \n =
(factory-nparams (indt =C2=ABIsSelfA'.axioms_=C2=BB) X80)",
"goal_id": 1320
},
{ "goal_text": "!", "goal_id": 1321 }
@@ -33110,8 +31654,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -33263,13 +31806,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -33288,8 +31829,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -33314,13 +31854,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -33335,8 +31873,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -33368,8 +31905,7 @@
"Inference",
{
"current_goal_id": 1320,
- "current_goal_text":
- "factory-nparams (indt =C2=ABIsSelfA'.axioms_=C2=BB) X80 ;\n std=
.fatal-error-w-data Not a factory synthesized by HB \n (factory-nparams (i=
ndt =C2=ABIsSelfA'.axioms_=C2=BB) X80)",
+ "current_goal_text": "factory-nparams (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) X80 ;\n std.fatal-error-w-data Not a factory synthesized by HB \n =
(factory-nparams (indt =C2=ABIsSelfA'.axioms_=C2=BB) X80)",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -33399,8 +31935,7 @@
},
"siblings": [
{
- "goal_text":
- "factory-nparams (indt =C2=ABIsSelfA'.axioms_=C2=BB) X80=
",
+ "goal_text": "factory-nparams (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) X80",
"goal_id": 1322
}
],
@@ -33432,8 +31967,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -33585,13 +32119,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -33610,8 +32142,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -33636,13 +32167,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -33657,8 +32186,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -33690,8 +32218,7 @@
"Inference",
{
"current_goal_id": 1322,
- "current_goal_text":
- "factory-nparams (indt =C2=ABIsSelfA'.axioms_=C2=BB) X80",
+ "current_goal_text": "factory-nparams (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) X80",
"current_goal_predicate": "factory-nparams",
"failed_attempts": [
{
@@ -33721,8 +32248,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-nparams (indt =C2=ABHasB.axioms_=C2=BB) 1) :- =
.",
+ "rule_text": "(factory-nparams (indt =C2=ABHasB.axioms_=C2=
=BB) 1) :- .",
"rule_loc": [
"File",
{
@@ -33768,8 +32294,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-nparams (indt =C2=ABIsSelfA.axioms_=C2=BB) 0) =
:- .",
+ "rule_text": "(factory-nparams (indt =C2=ABIsSelfA.axioms_=
=C2=BB) 0) :- .",
"rule_loc": [
"File",
{
@@ -33792,8 +32317,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-nparams (indt =C2=ABSelfA.axioms_=C2=BB) 0) :-=
.",
+ "rule_text": "(factory-nparams (indt =C2=ABSelfA.axioms_=
=C2=BB) 0) :- .",
"rule_loc": [
"File",
{
@@ -33816,8 +32340,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-nparams (indt =C2=ABIsSelfA'.axioms_=C2=BB) 0)=
:- .",
+ "rule_text": "(factory-nparams (indt =C2=ABIsSelfA'.axioms=
_=C2=BB) 0) :- .",
"rule_loc": [
"File",
{
@@ -33838,8 +32361,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-nparams (indt =C2=ABHasA.axioms_=C2=BB) 1) :=
- .",
+ "rule_text": "(factory-nparams (indt =C2=ABHasA.axioms_=
=C2=BB) 1) :- .",
"rule_loc": [
"File",
{
@@ -33868,8 +32390,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-nparams (indt =C2=ABHasA.axioms_=C2=BB) 1) :- =
.",
+ "rule_text": "(factory-nparams (indt =C2=ABHasA.axioms_=C2=
=BB) 1) :- .",
"rule_loc": [
"File",
{
@@ -33907,8 +32428,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -34060,13 +32580,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -34085,8 +32603,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -34111,13 +32628,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -34132,8 +32647,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -34168,8 +32682,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "factory-nparams (indt =C2=ABIsSelfA'.axioms_=C2=BB) X80 ;=
\n std.fatal-error-w-data Not a factory synthesized by HB \n (factory-npar=
ams (indt =C2=ABIsSelfA'.axioms_=C2=BB) X80)",
+ "goal_text": "factory-nparams (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) X80 ;\n std.fatal-error-w-data Not a factory synthesized by HB \n =
(factory-nparams (indt =C2=ABIsSelfA'.axioms_=C2=BB) X80)",
"goal_id": 1320
},
"cut_branch": {
@@ -34203,8 +32716,7 @@
"Inference",
{
"current_goal_id": 1319,
- "current_goal_text":
- "std.do!\n [instance.private.hack-section-discharging\n (app\n=
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABn=
at=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=
=ABnat=C2=BB)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, =
\n if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84) \n (X8=
5 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-const-noi=
mplicits-failondup X85 X82 \n (app [global (indt =C2=ABIsSelfA'.axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D global (const =
X86), std.drop 0 [global (indt =C2=ABnat=C2=BB)] [X88 | _], \n instance.pr=
ivate.check-non-forgetful-inheritance X88 \n (indt =C2=ABIsSelfA'.axioms_=
=C2=BB), \n instance.private.declare-instance (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) X88 X87 X89 \n X90, \n if\n (arity (app [global (indt =C2=ABIs=
SelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity _) t=
rue \n (if-verbose (header X91 , coq.say X91 closing instance section) ,\=
n log.coq.env.end-section-name X76), acc-clauses current X89]",
+ "current_goal_text": "std.do!\n [instance.private.hack-section-dis=
charging\n (app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), g=
lobal (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` =
(global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X81, \n instance.private.optimi=
ze-body X81 X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X8=
3 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.=
env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D=
global (const X86), std.drop 0 [global (indt =C2=ABnat=C2=BB)] [X88 | _], =
\n instance.private.check-non-forgetful-inheritance X88 \n (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), \n instance.private.declare-instance (indt =C2=ABI=
sSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \n if\n (arity (app [global=
(indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n=
arity _) true \n (if-verbose (header X91 , coq.say X91 closing insta=
nce section) ,\n log.coq.env.end-section-name X76), acc-clauses current=
X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -34213,8 +32725,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -34239,14 +32750,12 @@
},
"siblings": [
{
- "goal_text":
- "instance.private.hack-section-discharging\n (app\n [g=
lobal (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=
=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=
=BB)) c0 \\ c0]) X81",
+ "goal_text": "instance.private.hack-section-discharging\n =
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=
=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=
=ABnat=C2=BB)) c0 \\ c0]) X81",
"goal_id": 1323
},
{ "goal_text": "!", "goal_id": 1324 },
{
- "goal_text":
- "std.do!\n [instance.private.optimize-body X81 X82, \n =
if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is=
HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-const-noimpli=
cits-failondup X85 X82 \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D global (const X86), =
std.drop 0 [global (indt =C2=ABnat=C2=BB)] [X88 | _], \n instance.private.=
check-non-forgetful-inheritance X88 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB=
), \n instance.private.declare-instance (indt =C2=ABIsSelfA'.axioms_=C2=BB=
) X88 X87 X89 \n X90, \n if\n (arity (app [global (indt =C2=ABIsSelfA'=
.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity _) true \n=
(if-verbose (header X91 , coq.say X91 closing instance section) ,\n =
log.coq.env.end-section-name X76), acc-clauses current X89]",
+ "goal_text": "std.do!\n [instance.private.optimize-body X8=
1 X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84) \n =
(X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq.env.add-co=
nst-noimplicits-failondup X85 X82 \n (app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D global (c=
onst X86), std.drop 0 [global (indt =C2=ABnat=C2=BB)] [X88 | _], \n instan=
ce.private.check-non-forgetful-inheritance X88 \n (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), \n instance.private.declare-instance (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) X88 X87 X89 \n X90, \n if\n (arity (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity=
_) true \n (if-verbose (header X91 , coq.say X91 closing instance sectio=
n) ,\n log.coq.env.end-section-name X76), acc-clauses current X89]",
"goal_id": 1325
}
],
@@ -34411,13 +32920,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -34436,8 +32943,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -34462,13 +32968,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -34483,8 +32987,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -34516,8 +33019,7 @@
"Inference",
{
"current_goal_id": 1323,
- "current_goal_text":
- "instance.private.hack-section-discharging\n (app\n [global (c=
onst =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \=
\ c0]) X81",
+ "current_goal_text": "instance.private.hack-section-discharging\n =
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=
=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=
=ABnat=C2=BB)) c0 \\ c0]) X81",
"current_goal_predicate": "instance.private.hack-section-dischargi=
ng",
"failed_attempts": [],
"successful_attempts": [
@@ -34526,13 +33028,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.hack-section-discharging A0 A0) :- =
(current-mode no-builder), \n (!).",
+ "rule_text": "(instance.private.hack-section-discharging=
A0 A0) :- (current-mode no-builder), \n (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instanc=
e.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/instance.elpi",
"line": 300,
"column": 0,
"character": 12925
@@ -34564,13 +33064,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.hack-section-discharging A0 A0) :- (c=
urrent-mode no-builder), \n (!).",
+ "rule_text": "(instance.private.hack-section-discharging A=
0 A0) :- (current-mode no-builder), \n (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 300,
"column": 0,
"character": 12925
@@ -34737,13 +33235,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -34762,8 +33258,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -34788,13 +33283,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -34809,8 +33302,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -34852,13 +33344,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.hack-section-discharging A0 A0) :- (c=
urrent-mode no-builder), \n (!).",
+ "rule_text": "(instance.private.hack-section-discharging A=
0 A0) :- (current-mode no-builder), \n (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 300,
"column": 0,
"character": 12925
@@ -35025,13 +33515,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -35050,8 +33538,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -35076,13 +33563,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -35097,8 +33582,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -35130,8 +33614,7 @@
"Inference",
{
"current_goal_id": 1323,
- "current_goal_text":
- "instance.private.hack-section-discharging\n (app\n [global (c=
onst =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \=
\ c0]) X81",
+ "current_goal_text": "instance.private.hack-section-discharging\n =
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=
=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=
=ABnat=C2=BB)) c0 \\ c0]) X81",
"current_goal_predicate": "instance.private.hack-section-dischargi=
ng",
"failed_attempts": [],
"successful_attempts": [
@@ -35140,13 +33623,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.hack-section-discharging A0 A1) :- =
(current-mode\n (buil=
der-from _ A2 _ _)), \n (!), (std.assert-ok! (coq.typecheck A2 A3) TheFacto=
ry is illtyped (BUG)), \n (A1 =3D let `_` A3 A2 (c0 \\ A0)).",
+ "rule_text": "(instance.private.hack-section-discharging=
A0 A1) :- (current-mode\n =
(builder-from _ A2 _ _)), \n (!), (std.assert-ok! (coq.typecheck A2 A=
3) TheFactory is illtyped (BUG)), \n (A1 =3D let `_` A3 A2 (c0 \\ A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instanc=
e.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/instance.elpi",
"line": 301,
"column": 0,
"character": 12985
@@ -35169,13 +33650,11 @@
},
{ "goal_text": "!", "goal_id": 1329 },
{
- "goal_text":
- "std.assert-ok! (coq.typecheck X101 X102) TheFactory is =
illtyped (BUG)",
+ "goal_text": "std.assert-ok! (coq.typecheck X101 X102) The=
Factory is illtyped (BUG)",
"goal_id": 1330
},
{
- "goal_text":
- "X81 =3D\n let `_` X102 X101 c0 \\\n app\n [global (c=
onst =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c1 \=
\ c1]",
+ "goal_text": "X81 =3D\n let `_` X102 X101 c0 \\\n app\n =
[global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=
=C2=BB)) c1 \\ c1]",
"goal_id": 1331
}
],
@@ -35188,13 +33667,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.hack-section-discharging A0 A1) :- (c=
urrent-mode\n (builde=
r-from _ A2 _ _)), \n (!), (std.assert-ok! (coq.typecheck A2 A3) TheFactory=
is illtyped (BUG)), \n (A1 =3D let `_` A3 A2 (c0 \\ A0)).",
+ "rule_text": "(instance.private.hack-section-discharging A=
0 A1) :- (current-mode\n =
(builder-from _ A2 _ _)), \n (!), (std.assert-ok! (coq.typecheck A2 A3)=
TheFactory is illtyped (BUG)), \n (A1 =3D let `_` A3 A2 (c0 \\ A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 301,
"column": 0,
"character": 12985
@@ -35361,13 +33838,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -35386,8 +33861,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -35412,13 +33886,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -35433,8 +33905,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -35476,13 +33947,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.hack-section-discharging A0 A1) :- (c=
urrent-mode\n (builde=
r-from _ A2 _ _)), \n (!), (std.assert-ok! (coq.typecheck A2 A3) TheFactory=
is illtyped (BUG)), \n (A1 =3D let `_` A3 A2 (c0 \\ A0)).",
+ "rule_text": "(instance.private.hack-section-discharging A=
0 A1) :- (current-mode\n =
(builder-from _ A2 _ _)), \n (!), (std.assert-ok! (coq.typecheck A2 A3)=
TheFactory is illtyped (BUG)), \n (A1 =3D let `_` A3 A2 (c0 \\ A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 301,
"column": 0,
"character": 12985
@@ -35649,13 +34118,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -35674,8 +34141,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -35700,13 +34166,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -35721,8 +34185,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -35754,8 +34217,7 @@
"Inference",
{
"current_goal_id": 1323,
- "current_goal_text":
- "instance.private.hack-section-discharging\n (app\n [global (c=
onst =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \=
\ c0]) X81",
+ "current_goal_text": "instance.private.hack-section-discharging\n =
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=
=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=
=ABnat=C2=BB)) c0 \\ c0]) X81",
"current_goal_predicate": "instance.private.hack-section-dischargi=
ng",
"failed_attempts": [],
"successful_attempts": [
@@ -35764,13 +34226,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.hack-section-discharging A0 A0) :- =
.",
+ "rule_text": "(instance.private.hack-section-discharging=
A0 A0) :- .",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instanc=
e.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/instance.elpi",
"line": 304,
"column": 0,
"character": 13219
@@ -35799,13 +34259,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.hack-section-discharging A0 A0) :- .",
+ "rule_text": "(instance.private.hack-section-discharging A=
0 A0) :- .",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 304,
"column": 0,
"character": 13219
@@ -35972,13 +34430,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -35997,8 +34453,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -36023,13 +34478,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -36044,8 +34497,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -36083,8 +34535,7 @@
"Inference",
{
"current_goal_id": 1325,
- "current_goal_text":
- "std.do!\n [instance.private.optimize-body\n (app\n [globa=
l (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), =
\n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)=
) c0 \\ c0]) X82, \n if (_ =3D _) \n (, (new_int X83) (std.any->string X=
83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.coq=
.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt =C2=AB=
IsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =
=3D global (const X86), std.drop 0 [global (indt =C2=ABnat=C2=BB)] [X88 | _=
], \n instance.private.check-non-forgetful-inheritance X88 \n (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), \n instance.private.declare-instance (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \n if\n (arity (app [gl=
obal (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =
=3D\n arity _) true \n (if-verbose (header X91 , coq.say X91 closing =
instance section) ,\n log.coq.env.end-section-name X76), acc-clauses cu=
rrent X89]",
+ "current_goal_text": "std.do!\n [instance.private.optimize-body\n =
(app\n [global (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt=
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (in=
dt =C2=ABnat=C2=BB)) c0 \\ c0]) X82, \n if (_ =3D _) \n (, (new_int X83)=
(std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =
=3D _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [=
global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])=
ff X86, \n X87 =3D global (const X86), std.drop 0 [global (indt =C2=ABnat=
=C2=BB)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X8=
8 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n instance.private.declare-in=
stance (indt =C2=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \n if\n =
(arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB)]) =3D\n arity _) true \n (if-verbose (header X91 , coq.=
say X91 closing instance section) ,\n log.coq.env.end-section-name X76)=
, acc-clauses current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -36093,8 +34544,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -36119,14 +34569,12 @@
},
"siblings": [
{
- "goal_text":
- "instance.private.optimize-body\n (app\n [global (cons=
t =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n g=
lobal (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c=
0]) X82",
+ "goal_text": "instance.private.optimize-body\n (app\n [g=
lobal (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=
=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=
=BB)) c0 \\ c0]) X82",
"goal_id": 1332
},
{ "goal_text": "!", "goal_id": 1333 },
{
- "goal_text":
- "std.do!\n [if (_ =3D _) \n (, (new_int X83) (std.any-=
>string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n=
log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \=
n X87 =3D global (const X86), std.drop 0 [global (indt =C2=ABnat=C2=BB)] [=
X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB), \n instance.private.declare-instance (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \n if\n (arity (a=
pp [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB)]) =3D\n arity _) true \n (if-verbose (header X91 , coq.say X91 c=
losing instance section) ,\n log.coq.env.end-section-name X76), acc-cla=
uses current X89]",
+ "goal_text": "std.do!\n [if (_ =3D _) \n (, (new_int X83=
) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85=
=3D _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app =
[global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]=
) ff X86, \n X87 =3D global (const X86), std.drop 0 [global (indt =C2=ABna=
t=C2=BB)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X=
88 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n instance.private.declare-i=
nstance (indt =C2=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \n if\n =
(arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB)]) =3D\n arity _) true \n (if-verbose (header X91 , coq.=
say X91 closing instance section) ,\n log.coq.env.end-section-name X76)=
, acc-clauses current X89]",
"goal_id": 1334
}
],
@@ -36310,13 +34758,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -36335,8 +34781,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -36361,13 +34806,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -36382,8 +34825,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -36415,8 +34857,7 @@
"Inference",
{
"current_goal_id": 1332,
- "current_goal_text":
- "instance.private.optimize-body\n (app\n [global (const =C2=AB=
IsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (i=
ndc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X82",
+ "current_goal_text": "instance.private.optimize-body\n (app\n [g=
lobal (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=
=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=
=BB)) c0 \\ c0]) X82",
"current_goal_predicate": "instance.private.optimize-body",
"failed_attempts": [],
"successful_attempts": [
@@ -36425,13 +34866,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A=
0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A=
0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-b=
eta A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [glob=
al (const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->=
id (const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3=
) _), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instanc=
e.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -36450,19 +34889,16 @@
},
"siblings": [
{
- "goal_text":
- "phant-abbrev _ (const =C2=ABIsSelfA'.phant_Build=C2=BB)=
_ ;\n coq.gref->id (const =C2=ABIsSelfA'.phant_Build=C2=BB) X103 , rex_mat=
ch phant_ X103",
+ "goal_text": "phant-abbrev _ (const =C2=ABIsSelfA'.phant_B=
uild=C2=BB) _ ;\n coq.gref->id (const =C2=ABIsSelfA'.phant_Build=C2=BB) X10=
3 , rex_match phant_ X103",
"goal_id": 1335
},
{ "goal_text": "!", "goal_id": 1336 },
{
- "goal_text":
- "coq.env.const =C2=ABIsSelfA'.phant_Build=C2=BB (some X1=
04) _",
+ "goal_text": "coq.env.const =C2=ABIsSelfA'.phant_Build=C2=
=BB (some X104) _",
"goal_id": 1337
},
{
- "goal_text":
- "hd-beta X104 \n [global (indt =C2=ABnat=C2=BB), global =
(indc =C2=ABO=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]=
X105 X106",
+ "goal_text": "hd-beta X104 \n [global (indt =C2=ABnat=C2=
=BB), global (indc =C2=ABO=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=
=BB)) c0 \\ c0] X105 X106",
"goal_id": 1338
},
{ "goal_text": "unwind X105 X106 X82", "goal_id": 1339 }
@@ -36476,13 +34912,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -36668,13 +35102,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -36693,8 +35125,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -36719,13 +35150,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -36740,8 +35169,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -36773,8 +35201,7 @@
"Inference",
{
"current_goal_id": 1335,
- "current_goal_text":
- "phant-abbrev _ (const =C2=ABIsSelfA'.phant_Build=C2=BB) _ ;\n c=
oq.gref->id (const =C2=ABIsSelfA'.phant_Build=C2=BB) X103 , rex_match phant=
_ X103",
+ "current_goal_text": "phant-abbrev _ (const =C2=ABIsSelfA'.phant_B=
uild=C2=BB) _ ;\n coq.gref->id (const =C2=ABIsSelfA'.phant_Build=C2=BB) X10=
3 , rex_match phant_ X103",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -36804,8 +35231,7 @@
},
"siblings": [
{
- "goal_text":
- "phant-abbrev _ (const =C2=ABIsSelfA'.phant_Build=C2=BB)=
_",
+ "goal_text": "phant-abbrev _ (const =C2=ABIsSelfA'.phant_B=
uild=C2=BB) _",
"goal_id": 1340
}
],
@@ -36837,13 +35263,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -37029,13 +35453,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -37054,8 +35476,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -37080,13 +35501,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -37101,8 +35520,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -37134,16 +35552,14 @@
"Inference",
{
"current_goal_id": 1340,
- "current_goal_text":
- "phant-abbrev _ (const =C2=ABIsSelfA'.phant_Build=C2=BB) _",
+ "current_goal_text": "phant-abbrev _ (const =C2=ABIsSelfA'.phant_B=
uild=C2=BB) _",
"current_goal_predicate": "phant-abbrev",
"failed_attempts": [
{
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABHasA.Axioms_=C2=BB) (const =
=C2=ABHasA.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasA.Build=C2=BB=
) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABHasA.Axioms_=C2=BB=
) (const =C2=ABHasA.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasA.Bu=
ild=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -37166,8 +35582,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB) (const =
=C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB=
) (const =C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -37190,8 +35605,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABHasB.Axioms_=C2=BB) (const =
=C2=ABHasB.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasB.Build=C2=BB=
) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABHasB.Axioms_=C2=BB=
) (const =C2=ABHasB.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasB.Bu=
ild=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -37214,8 +35628,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=BB) (const=
=C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA.axi=
oms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=
=BB) (const =C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.=
IsSelfA.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -37238,8 +35651,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABIsSelfA.Axioms_=C2=BB) (const=
=C2=ABIsSelfA.phant_Build=C2=BB) \n =C2=ABinterleave_context.IsSelfA.Buil=
d=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABIsSelfA.Axioms_=C2=
=BB) (const =C2=ABIsSelfA.phant_Build=C2=BB) \n =C2=ABinterleave_context.I=
sSelfA.Build=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -37262,8 +35674,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=C2=BB) (cons=
t =C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA'.=
axioms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (const =C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_cont=
ext.IsSelfA'.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -37286,8 +35697,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABIsSelfA'.Axioms_=C2=BB) (cons=
t =C2=ABIsSelfA'.phant_Build=C2=BB) \n =C2=ABinterleave_context.IsSelfA'.B=
uild=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB) (const =C2=ABIsSelfA'.phant_Build=C2=BB) \n =C2=ABinterleave_conte=
xt.IsSelfA'.Build=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -37308,8 +35718,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=
=BB) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.Has=
A.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -37338,8 +35747,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB=
) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -37377,13 +35785,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -37569,13 +35975,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -37594,8 +35998,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -37620,13 +36023,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -37641,8 +36042,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -37677,8 +36077,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "phant-abbrev _ (const =C2=ABIsSelfA'.phant_Build=C2=BB) _=
;\n coq.gref->id (const =C2=ABIsSelfA'.phant_Build=C2=BB) X103 , rex_match=
phant_ X103",
+ "goal_text": "phant-abbrev _ (const =C2=ABIsSelfA'.phant_Bui=
ld=C2=BB) _ ;\n coq.gref->id (const =C2=ABIsSelfA'.phant_Build=C2=BB) X103 =
, rex_match phant_ X103",
"goal_id": 1335
},
"cut_branch": {
@@ -37696,8 +36095,7 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "instance.private.optimize-body\n (app\n [global (const =
=C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB), \n glo=
bal (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]=
) X82",
+ "goal_text": "instance.private.optimize-body\n (app\n [glo=
bal (const =C2=ABIsSelfA'.phant_Build=C2=BB), global (indt =C2=ABnat=C2=BB)=
, \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)=
) c0 \\ c0]) X82",
"goal_id": 1332
},
"cut_branch": {
@@ -37705,8 +36103,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.el=
pi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/i=
nstance.elpi",
"line": 314,
"column": 0,
"character": 13706
@@ -37726,8 +36123,7 @@
"Inference",
{
"current_goal_id": 1337,
- "current_goal_text":
- "coq.env.const =C2=ABIsSelfA'.phant_Build=C2=BB (some X104) _",
+ "current_goal_text": "coq.env.const =C2=ABIsSelfA'.phant_Build=C2=
=BB (some X104) _",
"current_goal_predicate": "coq.env.const",
"failed_attempts": [],
"successful_attempts": [
@@ -37738,8 +36134,7 @@
},
"siblings": [
{
- "goal_text":
- "some X104 =3D\n some\n (fun `TheType` (sort (typ =C2=
=ABinterleave_context.386=C2=BB)) c0 \\\n fun `a` c0 c1 \\\n fun `b`=
(prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc =C2=ABIsSelfA'.Axiom=
s_=C2=BB), c0, c1, c2])",
+ "goal_text": "some X104 =3D\n some\n (fun `TheType` (sort=
(typ =C2=ABinterleave_context.386=C2=BB)) c0 \\\n fun `a` c0 c1 \\\n =
fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc =C2=ABIsSel=
fA'.Axioms_=C2=BB), c0, c1, c2])",
"goal_id": 1341
}
],
@@ -37757,13 +36152,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -37949,13 +36342,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -37974,8 +36365,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -38000,13 +36390,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -38021,8 +36409,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -38054,8 +36441,7 @@
"Inference",
{
"current_goal_id": 1341,
- "current_goal_text":
- "some X104 =3D\n some\n (fun `TheType` (sort (typ =C2=ABinterle=
ave_context.386=C2=BB)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_`=
c0 c2 \\ c0) c2 \\\n app [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB),=
c0, c1, c2])",
+ "current_goal_text": "some X104 =3D\n some\n (fun `TheType` (sort=
(typ =C2=ABinterleave_context.386=C2=BB)) c0 \\\n fun `a` c0 c1 \\\n =
fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc =C2=ABIsSel=
fA'.Axioms_=C2=BB), c0, c1, c2])",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -38089,13 +36475,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -38281,13 +36665,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -38306,8 +36688,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -38332,13 +36713,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -38353,8 +36732,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -38386,8 +36764,7 @@
"Inference",
{
"current_goal_id": 1338,
- "current_goal_text":
- "hd-beta\n (fun `TheType` (sort (typ =C2=ABinterleave_context.38=
6=C2=BB)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2=
\\\n app [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), c0, c1, c2]) \n =
[global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n fun `x` (g=
lobal (indt =C2=ABnat=C2=BB)) c0 \\ c0] X105 X106",
+ "current_goal_text": "hd-beta\n (fun `TheType` (sort (typ =C2=ABin=
terleave_context.386=C2=BB)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod =
`_` c0 c2 \\ c0) c2 \\\n app [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB=
), c0, c1, c2]) \n [global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=
=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X105 X106",
"current_goal_predicate": "hd-beta",
"failed_attempts": [],
"successful_attempts": [
@@ -38396,8 +36773,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-be=
ta (A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- =
(!), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -38426,8 +36802,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1342 },
{
- "goal_text":
- "hd-beta\n (fun `a` (global (indt =C2=ABnat=C2=BB)) c0 \=
\\n fun `b` (prod `_` (global (indt =C2=ABnat=C2=BB)) c1 \\ global (indt =
=C2=ABnat=C2=BB)) c1 \\\n app [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB), c0, c1]) \n [global (indc =C2=ABO=C2=BB),=
fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X105 X106",
+ "goal_text": "hd-beta\n (fun `a` (global (indt =C2=ABnat=
=C2=BB)) c0 \\\n fun `b` (prod `_` (global (indt =C2=ABnat=C2=BB)) c1 \\ =
global (indt =C2=ABnat=C2=BB)) c1 \\\n app [global (indc =C2=ABIsSelfA'.=
Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), c0, c1]) \n [global (indc =
=C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X105 X106=
",
"goal_id": 1343
}
],
@@ -38440,8 +36815,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -38460,13 +36834,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -38652,13 +37024,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -38677,8 +37047,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -38703,13 +37072,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -38724,8 +37091,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -38760,8 +37126,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "hd-beta X104 \n [global (indt =C2=ABnat=C2=BB), global (i=
ndc =C2=ABO=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X=
105 X106",
+ "goal_text": "hd-beta X104 \n [global (indt =C2=ABnat=C2=BB)=
, global (indc =C2=ABO=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) =
c0 \\ c0] X105 X106",
"goal_id": 1338
},
"cut_branch": {
@@ -38789,8 +37154,7 @@
"Inference",
{
"current_goal_id": 1343,
- "current_goal_text":
- "hd-beta\n (fun `a` (global (indt =C2=ABnat=C2=BB)) c0 \\\n fu=
n `b` (prod `_` (global (indt =C2=ABnat=C2=BB)) c1 \\ global (indt =C2=ABna=
t=C2=BB)) c1 \\\n app [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), globa=
l (indt =C2=ABnat=C2=BB), c0, c1]) \n [global (indc =C2=ABO=C2=BB), fun `x`=
(global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X105 X106",
+ "current_goal_text": "hd-beta\n (fun `a` (global (indt =C2=ABnat=
=C2=BB)) c0 \\\n fun `b` (prod `_` (global (indt =C2=ABnat=C2=BB)) c1 \\ =
global (indt =C2=ABnat=C2=BB)) c1 \\\n app [global (indc =C2=ABIsSelfA'.=
Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), c0, c1]) \n [global (indc =
=C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X105 X106=
",
"current_goal_predicate": "hd-beta",
"failed_attempts": [],
"successful_attempts": [
@@ -38799,8 +37163,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-be=
ta (A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- =
(!), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -38829,8 +37192,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1344 },
{
- "goal_text":
- "hd-beta\n (fun `b` (prod `_` (global (indt =C2=ABnat=C2=
=BB)) c0 \\ global (indt =C2=ABnat=C2=BB)) c0 \\\n app\n [global (indc=
=C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n globa=
l (indc =C2=ABO=C2=BB), c0]) [fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\=
c0] \n X105 X106",
+ "goal_text": "hd-beta\n (fun `b` (prod `_` (global (indt =
=C2=ABnat=C2=BB)) c0 \\ global (indt =C2=ABnat=C2=BB)) c0 \\\n app\n [=
global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), =
\n global (indc =C2=ABO=C2=BB), c0]) [fun `x` (global (indt =C2=ABnat=
=C2=BB)) c0 \\ c0] \n X105 X106",
"goal_id": 1345
}
],
@@ -38843,8 +37205,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -38863,8 +37224,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -38883,13 +37243,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -39075,13 +37433,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -39100,8 +37456,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -39126,13 +37481,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -39147,8 +37500,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -39183,8 +37535,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "hd-beta\n (fun `a` (global (indt =C2=ABnat=C2=BB)) c0 \\\=
n fun `b` (prod `_` (global (indt =C2=ABnat=C2=BB)) c1 \\ global (indt =
=C2=ABnat=C2=BB)) c1 \\\n app [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB), c0, c1]) \n [global (indc =C2=ABO=C2=BB),=
fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X105 X106",
+ "goal_text": "hd-beta\n (fun `a` (global (indt =C2=ABnat=C2=
=BB)) c0 \\\n fun `b` (prod `_` (global (indt =C2=ABnat=C2=BB)) c1 \\ glo=
bal (indt =C2=ABnat=C2=BB)) c1 \\\n app [global (indc =C2=ABIsSelfA'.Axi=
oms_=C2=BB), global (indt =C2=ABnat=C2=BB), c0, c1]) \n [global (indc =C2=
=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X105 X106",
"goal_id": 1343
},
"cut_branch": {
@@ -39212,8 +37563,7 @@
"Inference",
{
"current_goal_id": 1345,
- "current_goal_text":
- "hd-beta\n (fun `b` (prod `_` (global (indt =C2=ABnat=C2=BB)) c0=
\\ global (indt =C2=ABnat=C2=BB)) c0 \\\n app\n [global (indc =C2=ABI=
sSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =
=C2=ABO=C2=BB), c0]) [fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] \n =
X105 X106",
+ "current_goal_text": "hd-beta\n (fun `b` (prod `_` (global (indt =
=C2=ABnat=C2=BB)) c0 \\ global (indt =C2=ABnat=C2=BB)) c0 \\\n app\n [=
global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), =
\n global (indc =C2=ABO=C2=BB), c0]) [fun `x` (global (indt =C2=ABnat=
=C2=BB)) c0 \\ c0] \n X105 X106",
"current_goal_predicate": "hd-beta",
"failed_attempts": [],
"successful_attempts": [
@@ -39222,8 +37572,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-be=
ta (A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- =
(!), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -39251,8 +37600,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1346 },
{
- "goal_text":
- "hd-beta\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), =
fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) [] X105 \n X106",
+ "goal_text": "hd-beta\n (app\n [global (indc =C2=ABIsSel=
fA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=
=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) [] X105 \n =
X106",
"goal_id": 1347
}
],
@@ -39265,8 +37613,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -39285,8 +37632,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -39305,8 +37651,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -39325,13 +37670,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -39517,13 +37860,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -39542,8 +37883,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -39568,13 +37908,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -39589,8 +37927,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -39625,8 +37962,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "hd-beta\n (fun `b` (prod `_` (global (indt =C2=ABnat=C2=
=BB)) c0 \\ global (indt =C2=ABnat=C2=BB)) c0 \\\n app\n [global (indc=
=C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n globa=
l (indc =C2=ABO=C2=BB), c0]) [fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\=
c0] \n X105 X106",
+ "goal_text": "hd-beta\n (fun `b` (prod `_` (global (indt =C2=
=ABnat=C2=BB)) c0 \\ global (indt =C2=ABnat=C2=BB)) c0 \\\n app\n [glo=
bal (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), c0]) [fun `x` (global (indt =C2=ABnat=C2=
=BB)) c0 \\ c0] \n X105 X106",
"goal_id": 1345
},
"cut_branch": {
@@ -39654,8 +37990,7 @@
"Inference",
{
"current_goal_id": 1347,
- "current_goal_text":
- "hd-beta\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB),=
global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` =
(global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) [] X105 \n X106",
+ "current_goal_text": "hd-beta\n (app\n [global (indc =C2=ABIsSel=
fA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=
=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) [] X105 \n =
X106",
"current_goal_predicate": "hd-beta",
"failed_attempts": [],
"successful_attempts": [
@@ -39664,8 +37999,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (std.appen=
d A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
+ "rule_text": "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!),=
(std.append A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
"rule_loc": [
"File",
{
@@ -39691,13 +38025,11 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1348 },
{
- "goal_text":
- "std.append\n [global (indt =C2=ABnat=C2=BB), global (in=
dc =C2=ABO=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] []=
X107",
+ "goal_text": "std.append\n [global (indt =C2=ABnat=C2=BB),=
global (indc =C2=ABO=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c=
0 \\ c0] [] X107",
"goal_id": 1349
},
{
- "goal_text":
- "hd-beta (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB)) X1=
07 X105 X106",
+ "goal_text": "hd-beta (global (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB)) X107 X105 X106",
"goal_id": 1350
}
],
@@ -39710,8 +38042,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (std.append =
A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
+ "rule_text": "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (=
std.append A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
"rule_loc": [
"File",
{
@@ -39730,8 +38061,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -39750,8 +38080,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -39770,8 +38099,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -39790,13 +38118,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -39982,13 +38308,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -40007,8 +38331,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -40033,13 +38356,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -40054,8 +38375,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -40090,8 +38410,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "hd-beta\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), =
fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) [] X105 \n X106",
+ "goal_text": "hd-beta\n (app\n [global (indc =C2=ABIsSelfA=
'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=
=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) [] X105 \n X106=
",
"goal_id": 1347
},
"cut_branch": {
@@ -40119,8 +38438,7 @@
"Inference",
{
"current_goal_id": 1349,
- "current_goal_text":
- "std.append\n [global (indt =C2=ABnat=C2=BB), global (indc =C2=
=ABO=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] [] X107",
+ "current_goal_text": "std.append\n [global (indt =C2=ABnat=C2=BB),=
global (indc =C2=ABO=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c=
0 \\ c0] [] X107",
"current_goal_predicate": "std.append",
"failed_attempts": [],
"successful_attempts": [
@@ -40129,8 +38447,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1=
A2 A3).",
+ "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (st=
d.append A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -40154,8 +38471,7 @@
},
"siblings": [
{
- "goal_text":
- "std.append [global (indc =C2=ABO=C2=BB), fun `x` (globa=
l (indt =C2=ABnat=C2=BB)) c0 \\ c0] [] \n X108",
+ "goal_text": "std.append [global (indc =C2=ABO=C2=BB), fun=
`x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] [] \n X108",
"goal_id": 1351
}
],
@@ -40168,8 +38484,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A=
2 A3).",
+ "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.=
append A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -40188,8 +38503,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (std.append =
A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
+ "rule_text": "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (=
std.append A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
"rule_loc": [
"File",
{
@@ -40208,8 +38522,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -40228,8 +38541,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -40248,8 +38560,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -40268,13 +38579,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -40460,13 +38769,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -40485,8 +38792,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -40511,13 +38817,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -40532,8 +38836,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -40565,8 +38868,7 @@
"Inference",
{
"current_goal_id": 1351,
- "current_goal_text":
- "std.append [global (indc =C2=ABO=C2=BB), fun `x` (global (indt =
=C2=ABnat=C2=BB)) c0 \\ c0] [] \n X108",
+ "current_goal_text": "std.append [global (indc =C2=ABO=C2=BB), fun=
`x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] [] \n X108",
"current_goal_predicate": "std.append",
"failed_attempts": [],
"successful_attempts": [
@@ -40575,8 +38877,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1=
A2 A3).",
+ "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (st=
d.append A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -40600,8 +38901,7 @@
},
"siblings": [
{
- "goal_text":
- "std.append [fun `x` (global (indt =C2=ABnat=C2=BB)) c0 =
\\ c0] [] X109",
+ "goal_text": "std.append [fun `x` (global (indt =C2=ABnat=
=C2=BB)) c0 \\ c0] [] X109",
"goal_id": 1352
}
],
@@ -40614,8 +38914,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A=
2 A3).",
+ "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.=
append A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -40634,8 +38933,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A=
2 A3).",
+ "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.=
append A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -40654,8 +38952,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (std.append =
A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
+ "rule_text": "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (=
std.append A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
"rule_loc": [
"File",
{
@@ -40674,8 +38971,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -40694,8 +38990,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -40714,8 +39009,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -40734,13 +39028,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -40926,13 +39218,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -40951,8 +39241,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -40977,13 +39266,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -40998,8 +39285,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -41031,8 +39317,7 @@
"Inference",
{
"current_goal_id": 1352,
- "current_goal_text":
- "std.append [fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] [=
] X109",
+ "current_goal_text": "std.append [fun `x` (global (indt =C2=ABnat=
=C2=BB)) c0 \\ c0] [] X109",
"current_goal_predicate": "std.append",
"failed_attempts": [],
"successful_attempts": [
@@ -41041,8 +39326,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1=
A2 A3).",
+ "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (st=
d.append A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -41078,8 +39362,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A=
2 A3).",
+ "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.=
append A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -41098,8 +39381,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A=
2 A3).",
+ "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.=
append A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -41118,8 +39400,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A=
2 A3).",
+ "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.=
append A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -41138,8 +39419,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (std.append =
A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
+ "rule_text": "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (=
std.append A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
"rule_loc": [
"File",
{
@@ -41158,8 +39438,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -41178,8 +39457,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -41198,8 +39476,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -41218,13 +39495,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -41410,13 +39685,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -41435,8 +39708,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -41461,13 +39733,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -41482,8 +39752,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -41537,8 +39806,7 @@
}
],
"events": [
- [ "Assign", "A0 :=3D []" ],
- [ "Assign", "X110 :=3D []" ]
+ [ "Assign", "A0 :=3D []" ], [ "Assign", "X110 :=3D []" ]
]
},
"siblings": [],
@@ -41570,8 +39838,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A=
2 A3).",
+ "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.=
append A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -41590,8 +39857,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A=
2 A3).",
+ "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.=
append A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -41610,8 +39876,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A=
2 A3).",
+ "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.=
append A1 A2 A3).",
"rule_loc": [
"File",
{
@@ -41630,8 +39895,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (std.append =
A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
+ "rule_text": "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (=
std.append A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
"rule_loc": [
"File",
{
@@ -41650,8 +39914,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -41670,8 +39933,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -41690,8 +39952,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -41710,13 +39971,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -41902,13 +40161,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -41927,8 +40184,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -41953,13 +40209,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -41974,8 +40228,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -42007,8 +40260,7 @@
"Inference",
{
"current_goal_id": 1350,
- "current_goal_text":
- "hd-beta (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB)) \n [global=
(indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n fun `x` (global (=
indt =C2=ABnat=C2=BB)) c0 \\ c0] X105 X106",
+ "current_goal_text": "hd-beta (global (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB)) \n [global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n=
fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X105 X106",
"current_goal_predicate": "hd-beta",
"failed_attempts": [],
"successful_attempts": [
@@ -42071,8 +40323,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (std.append =
A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
+ "rule_text": "(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (=
std.append A1 A2 A5), \n (hd-beta A0 A5 A3 A4).",
"rule_loc": [
"File",
{
@@ -42091,8 +40342,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -42111,8 +40361,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -42131,8 +40380,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta=
(A0 A1) A2 A3 A4).",
+ "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!=
), (hd-beta (A0 A1) A2 A3 A4).",
"rule_loc": [
"File",
{
@@ -42151,13 +40399,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -42343,13 +40589,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -42368,8 +40612,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -42394,13 +40637,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -42415,8 +40656,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -42448,8 +40688,7 @@
"Inference",
{
"current_goal_id": 1339,
- "current_goal_text":
- "unwind (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB)) \n [global =
(indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n fun `x` (global (i=
ndt =C2=ABnat=C2=BB)) c0 \\ c0] X82",
+ "current_goal_text": "unwind (global (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB)) \n [global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n=
fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X82",
"current_goal_predicate": "unwind",
"failed_attempts": [],
"successful_attempts": [
@@ -42458,8 +40697,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(unwind A0 A1 A2) :- (if (var A0) (coq.mk-app-uvar A0=
A1 A2) \n (coq.mk-app A0 A1 A2)).",
+ "rule_text": "(unwind A0 A1 A2) :- (if (var A0) (coq.mk-=
app-uvar A0 A1 A2) \n (coq.mk-app A0 A1 A2)).",
"rule_loc": [
"File",
{
@@ -42482,8 +40720,7 @@
},
"siblings": [
{
- "goal_text":
- "if (var (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB))) \=
n (coq.mk-app-uvar (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB)) \n [globa=
l (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n fun `x` (globa=
l (indt =C2=ABnat=C2=BB)) c0 \\ c0] X82) \n (coq.mk-app (global (indc =C2=
=ABIsSelfA'.Axioms_=C2=BB)) \n [global (indt =C2=ABnat=C2=BB), global (in=
dc =C2=ABO=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] =
X82)",
+ "goal_text": "if (var (global (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB))) \n (coq.mk-app-uvar (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB)) =
\n [global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n fun=
`x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X82) \n (coq.mk-app (global =
(indc =C2=ABIsSelfA'.Axioms_=C2=BB)) \n [global (indt =C2=ABnat=C2=BB), g=
lobal (indc =C2=ABO=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c=
0 \\ c0] X82)",
"goal_id": 1354
}
],
@@ -42496,8 +40733,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(unwind A0 A1 A2) :- (if (var A0) (coq.mk-app-uvar A0 A=
1 A2) \n (coq.mk-app A0 A1 A2)).",
+ "rule_text": "(unwind A0 A1 A2) :- (if (var A0) (coq.mk-ap=
p-uvar A0 A1 A2) \n (coq.mk-app A0 A1 A2)).",
"rule_loc": [
"File",
{
@@ -42516,13 +40752,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -42708,13 +40942,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -42733,8 +40965,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -42759,13 +40990,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -42780,8 +41009,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -42813,8 +41041,7 @@
"Inference",
{
"current_goal_id": 1354,
- "current_goal_text":
- "if (var (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB))) \n (coq.m=
k-app-uvar (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB)) \n [global (indt =
=C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n fun `x` (global (indt =
=C2=ABnat=C2=BB)) c0 \\ c0] X82) \n (coq.mk-app (global (indc =C2=ABIsSelfA=
'.Axioms_=C2=BB)) \n [global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=
=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X82)",
+ "current_goal_text": "if (var (global (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB))) \n (coq.mk-app-uvar (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB)) =
\n [global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n fun=
`x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X82) \n (coq.mk-app (global =
(indc =C2=ABIsSelfA'.Axioms_=C2=BB)) \n [global (indt =C2=ABnat=C2=BB), g=
lobal (indc =C2=ABO=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c=
0 \\ c0] X82)",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -42852,8 +41079,7 @@
},
{ "goal_text": "!", "goal_id": 1356 },
{
- "goal_text":
- "coq.mk-app-uvar (global (indc =C2=ABIsSelfA'.Axioms_=C2=
=BB)) \n [global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n f=
un `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X82",
+ "goal_text": "coq.mk-app-uvar (global (indc =C2=ABIsSelfA'=
.Axioms_=C2=BB)) \n [global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=
=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X82",
"goal_id": 1357
}
],
@@ -42885,8 +41111,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(unwind A0 A1 A2) :- (if (var A0) (coq.mk-app-uvar A0 A=
1 A2) \n (coq.mk-app A0 A1 A2)).",
+ "rule_text": "(unwind A0 A1 A2) :- (if (var A0) (coq.mk-ap=
p-uvar A0 A1 A2) \n (coq.mk-app A0 A1 A2)).",
"rule_loc": [
"File",
{
@@ -42905,13 +41130,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -43097,13 +41320,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -43122,8 +41343,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -43148,13 +41368,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -43169,8 +41387,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -43238,8 +41455,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(unwind A0 A1 A2) :- (if (var A0) (coq.mk-app-uvar A0 A=
1 A2) \n (coq.mk-app A0 A1 A2)).",
+ "rule_text": "(unwind A0 A1 A2) :- (if (var A0) (coq.mk-ap=
p-uvar A0 A1 A2) \n (coq.mk-app A0 A1 A2)).",
"rule_loc": [
"File",
{
@@ -43258,13 +41474,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -43450,13 +41664,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -43475,8 +41687,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -43501,13 +41712,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -43522,8 +41731,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -43555,8 +41763,7 @@
"Inference",
{
"current_goal_id": 1354,
- "current_goal_text":
- "if (var (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB))) \n (coq.m=
k-app-uvar (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB)) \n [global (indt =
=C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n fun `x` (global (indt =
=C2=ABnat=C2=BB)) c0 \\ c0] X82) \n (coq.mk-app (global (indc =C2=ABIsSelfA=
'.Axioms_=C2=BB)) \n [global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=
=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X82)",
+ "current_goal_text": "if (var (global (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB))) \n (coq.mk-app-uvar (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB)) =
\n [global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n fun=
`x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X82) \n (coq.mk-app (global =
(indc =C2=ABIsSelfA'.Axioms_=C2=BB)) \n [global (indt =C2=ABnat=C2=BB), g=
lobal (indc =C2=ABO=C2=BB), \n fun `x` (global (indt =C2=ABnat=C2=BB)) c=
0 \\ c0] X82)",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -43586,8 +41793,7 @@
},
"siblings": [
{
- "goal_text":
- "coq.mk-app (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB))=
\n [global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n fun `x=
` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X82",
+ "goal_text": "coq.mk-app (global (indc =C2=ABIsSelfA'.Axio=
ms_=C2=BB)) \n [global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB),=
\n fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X82",
"goal_id": 1358
}
],
@@ -43619,8 +41825,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(unwind A0 A1 A2) :- (if (var A0) (coq.mk-app-uvar A0 A=
1 A2) \n (coq.mk-app A0 A1 A2)).",
+ "rule_text": "(unwind A0 A1 A2) :- (if (var A0) (coq.mk-ap=
p-uvar A0 A1 A2) \n (coq.mk-app A0 A1 A2)).",
"rule_loc": [
"File",
{
@@ -43639,13 +41844,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -43831,13 +42034,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -43856,8 +42057,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -43882,13 +42082,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -43903,8 +42101,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -43936,8 +42133,7 @@
"Inference",
{
"current_goal_id": 1358,
- "current_goal_text":
- "coq.mk-app (global (indc =C2=ABIsSelfA'.Axioms_=C2=BB)) \n [glo=
bal (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB), \n fun `x` (globa=
l (indt =C2=ABnat=C2=BB)) c0 \\ c0] X82",
+ "current_goal_text": "coq.mk-app (global (indc =C2=ABIsSelfA'.Axio=
ms_=C2=BB)) \n [global (indt =C2=ABnat=C2=BB), global (indc =C2=ABO=C2=BB),=
\n fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0] X82",
"current_goal_predicate": "coq.mk-app",
"failed_attempts": [
{
@@ -44043,8 +42239,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(unwind A0 A1 A2) :- (if (var A0) (coq.mk-app-uvar A0 A=
1 A2) \n (coq.mk-app A0 A1 A2)).",
+ "rule_text": "(unwind A0 A1 A2) :- (if (var A0) (coq.mk-ap=
p-uvar A0 A1 A2) \n (coq.mk-app A0 A1 A2)).",
"rule_loc": [
"File",
{
@@ -44063,13 +42258,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.optimize-body (app [global (const A0)=
| A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id (const A0)=
A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) _), (hd-bet=
a A3 A1 A4 A5), (unwind A4 A5 A2).",
+ "rule_text": "(instance.private.optimize-body (app [global=
(const A0) | A1]) A2) :- (\n phant-abbrev _ (const A0) _ ;\n coq.gref->id=
(const A0) A6 , rex_match phant_ A6), (!), \n (coq.env.const A0 (some A3) =
_), (hd-beta A3 A1 A4 A5), (unwind A4 A5 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 309,
"column": 0,
"character": 13433
@@ -44255,13 +42448,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -44280,8 +42471,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -44306,13 +42496,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -44327,8 +42515,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -44366,8 +42553,7 @@
"Inference",
{
"current_goal_id": 1334,
- "current_goal_text":
- "std.do!\n [if (_ =3D _) \n (, (new_int X83) (std.any->string =
X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _), \n log.co=
q.env.add-const-noimplicits-failondup X85 \n (app\n [global (indc =C2=
=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (=
indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) \n =
(app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=
=C2=BB)]) ff X86, \n X87 =3D global (const X86), std.drop 0 [global (indt =
=C2=ABnat=C2=BB)] [X88 | _], \n instance.private.check-non-forgetful-inher=
itance X88 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n instance.private.d=
eclare-instance (indt =C2=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \=
n if\n (arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (=
indt =C2=ABnat=C2=BB)]) =3D\n arity _) true \n (if-verbose (header X9=
1 , coq.say X91 closing instance section) ,\n log.coq.env.end-section-n=
ame X76), acc-clauses current X89]",
+ "current_goal_text": "std.do!\n [if (_ =3D _) \n (, (new_int X83=
) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85=
=3D _), \n log.coq.env.add-const-noimplicits-failondup X85 \n (app\n =
[global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB=
), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=
=BB)) c0 \\ c0]) \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), glo=
bal (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D global (const X86), std.dr=
op 0 [global (indt =C2=ABnat=C2=BB)] [X88 | _], \n instance.private.check-=
non-forgetful-inheritance X88 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n =
instance.private.declare-instance (indt =C2=ABIsSelfA'.axioms_=C2=BB) X88 =
X87 X89 \n X90, \n if\n (arity (app [global (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity _) true \n (if=
-verbose (header X91 , coq.say X91 closing instance section) ,\n log.co=
q.env.end-section-name X76), acc-clauses current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -44376,8 +42562,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -44402,14 +42587,12 @@
},
"siblings": [
{
- "goal_text":
- "if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X=
84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _)",
+ "goal_text": "if (_ =3D _) \n (, (new_int X83) (std.any->s=
tring X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _)",
"goal_id": 1359
},
{ "goal_text": "!", "goal_id": 1360 },
{
- "goal_text":
- "std.do!\n [log.coq.env.add-const-noimplicits-failondup =
X85 \n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (in=
dt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (=
indt =C2=ABnat=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D global (c=
onst X86), std.drop 0 [global (indt =C2=ABnat=C2=BB)] [X88 | _], \n instan=
ce.private.check-non-forgetful-inheritance X88 \n (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), \n instance.private.declare-instance (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) X88 X87 X89 \n X90, \n if\n (arity (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity=
_) true \n (if-verbose (header X91 , coq.say X91 closing instance sectio=
n) ,\n log.coq.env.end-section-name X76), acc-clauses current X89]",
+ "goal_text": "std.do!\n [log.coq.env.add-const-noimplicits=
-failondup X85 \n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB),=
global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x=
` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=AB=
IsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =
=3D global (const X86), std.drop 0 [global (indt =C2=ABnat=C2=BB)] [X88 | _=
], \n instance.private.check-non-forgetful-inheritance X88 \n (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), \n instance.private.declare-instance (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \n if\n (arity (app [gl=
obal (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =
=3D\n arity _) true \n (if-verbose (header X91 , coq.say X91 closing =
instance section) ,\n log.coq.env.end-section-name X76), acc-clauses cu=
rrent X89]",
"goal_id": 1361
}
],
@@ -44612,13 +42795,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -44637,8 +42818,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -44663,13 +42843,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -44684,8 +42862,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -44717,8 +42894,7 @@
"Inference",
{
"current_goal_id": 1359,
- "current_goal_text":
- "if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84) \n =
(X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _)",
+ "current_goal_text": "if (_ =3D _) \n (, (new_int X83) (std.any->s=
tring X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _)",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -44751,8 +42927,7 @@
{ "goal_text": "_ =3D _", "goal_id": 1362 },
{ "goal_text": "!", "goal_id": 1363 },
{
- "goal_text":
- ", (new_int X83) (std.any->string X83 X84) (X85 is HB_un=
named_factory_ ^ X84)",
+ "goal_text": ", (new_int X83) (std.any->string X83 X84) (X=
85 is HB_unnamed_factory_ ^ X84)",
"goal_id": 1364
}
],
@@ -44974,13 +43149,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -44999,8 +43172,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -45025,13 +43197,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -45046,8 +43216,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -45312,13 +43481,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -45337,8 +43504,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -45363,13 +43529,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -45384,8 +43548,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -45420,8 +43583,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "if (_ =3D _) \n (, (new_int X83) (std.any->string X83 X84=
) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _)",
+ "goal_text": "if (_ =3D _) \n (, (new_int X83) (std.any->str=
ing X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 =3D _)",
"goal_id": 1359
},
"cut_branch": {
@@ -45449,8 +43611,7 @@
"Inference",
{
"current_goal_id": 1364,
- "current_goal_text":
- ", (new_int X83) (std.any->string X83 X84) (X85 is HB_unnamed_fa=
ctory_ ^ X84)",
+ "current_goal_text": ", (new_int X83) (std.any->string X83 X84) (X=
85 is HB_unnamed_factory_ ^ X84)",
"current_goal_predicate": ",",
"failed_attempts": [],
"successful_attempts": [
@@ -45690,13 +43851,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -45715,8 +43874,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -45741,13 +43899,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -45762,8 +43918,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -46033,13 +44188,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -46058,8 +44211,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -46084,13 +44236,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -46105,8 +44255,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -46381,13 +44530,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -46406,8 +44553,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -46432,13 +44578,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -46453,8 +44597,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -46495,8 +44638,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.any->string A0 A1) :- (term_to_string A0 A1).",
+ "rule_text": "(std.any->string A0 A1) :- (term_to_string=
A0 A1).",
"rule_loc": [
"File",
{
@@ -46509,8 +44651,7 @@
}
],
"events": [
- [ "Assign", "A0 :=3D 27" ],
- [ "Assign", "A1 :=3D X84" ]
+ [ "Assign", "A0 :=3D 27" ], [ "Assign", "A1 :=3D X84" ]
]
},
"siblings": [
@@ -46525,8 +44666,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.any->string A0 A1) :- (term_to_string A0 A1).",
+ "rule_text": "(std.any->string A0 A1) :- (term_to_string A=
0 A1).",
"rule_loc": [
"File",
{
@@ -46759,13 +44899,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -46784,8 +44922,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -46810,13 +44947,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -46831,8 +44966,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -46888,8 +45022,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.any->string A0 A1) :- (term_to_string A0 A1).",
+ "rule_text": "(std.any->string A0 A1) :- (term_to_string A=
0 A1).",
"rule_loc": [
"File",
{
@@ -47122,13 +45255,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -47147,8 +45278,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -47173,13 +45303,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -47194,8 +45322,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -47256,8 +45383,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.any->string A0 A1) :- (term_to_string A0 A1).",
+ "rule_text": "(std.any->string A0 A1) :- (term_to_string A=
0 A1).",
"rule_loc": [
"File",
{
@@ -47490,13 +45616,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -47515,8 +45639,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -47541,13 +45664,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -47562,8 +45683,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -47869,13 +45989,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -47894,8 +46012,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -47920,13 +46037,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -47941,8 +46056,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -48233,13 +46347,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -48258,8 +46370,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -48284,13 +46395,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -48305,8 +46414,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -48600,13 +46708,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -48625,8 +46731,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -48651,13 +46756,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -48672,8 +46775,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -48711,8 +46813,7 @@
"Inference",
{
"current_goal_id": 1361,
- "current_goal_text":
- "std.do!\n [log.coq.env.add-const-noimplicits-failondup HB_unnam=
ed_factory_27 \n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), =
global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x`=
(global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n X87 =3D=
global (const X86), std.drop 0 [global (indt =C2=ABnat=C2=BB)] [X88 | _], =
\n instance.private.check-non-forgetful-inheritance X88 \n (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), \n instance.private.declare-instance (indt =C2=ABI=
sSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \n if\n (arity (app [global=
(indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n=
arity _) true \n (if-verbose (header X91 , coq.say X91 closing insta=
nce section) ,\n log.coq.env.end-section-name X76), acc-clauses current=
X89]",
+ "current_goal_text": "std.do!\n [log.coq.env.add-const-noimplicits=
-failondup HB_unnamed_factory_27 \n (app\n [global (indc =C2=ABIsSelf=
A'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=
=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) \n (app [=
global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])=
ff X86, \n X87 =3D global (const X86), std.drop 0 [global (indt =C2=ABnat=
=C2=BB)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X8=
8 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n instance.private.declare-in=
stance (indt =C2=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \n if\n =
(arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB)]) =3D\n arity _) true \n (if-verbose (header X91 , coq.=
say X91 closing instance section) ,\n log.coq.env.end-section-name X76)=
, acc-clauses current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -48721,8 +46822,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -48747,14 +46847,12 @@
},
"siblings": [
{
- "goal_text":
- "log.coq.env.add-const-noimplicits-failondup HB_unnamed_=
factory_27 \n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global =
(indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global =
(indt =C2=ABnat=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86",
+ "goal_text": "log.coq.env.add-const-noimplicits-failondup =
HB_unnamed_factory_27 \n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=
=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun=
`x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86",
"goal_id": 1373
},
{ "goal_text": "!", "goal_id": 1374 },
{
- "goal_text":
- "std.do!\n [X87 =3D global (const X86), std.drop 0 [glob=
al (indt =C2=ABnat=C2=BB)] [X88 | _], \n instance.private.check-non-forget=
ful-inheritance X88 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n instance.=
private.declare-instance (indt =C2=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 \n=
X90, \n if\n (arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB),=
global (indt =C2=ABnat=C2=BB)]) =3D\n arity _) true \n (if-verbose (=
header X91 , coq.say X91 closing instance section) ,\n log.coq.env.end-=
section-name X76), acc-clauses current X89]",
+ "goal_text": "std.do!\n [X87 =3D global (const X86), std.d=
rop 0 [global (indt =C2=ABnat=C2=BB)] [X88 | _], \n instance.private.check=
-non-forgetful-inheritance X88 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n=
instance.private.declare-instance (indt =C2=ABIsSelfA'.axioms_=C2=BB) X88=
X87 X89 \n X90, \n if\n (arity (app [global (indt =C2=ABIsSelfA'.axio=
ms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity _) true \n (i=
f-verbose (header X91 , coq.say X91 closing instance section) ,\n log.c=
oq.env.end-section-name X76), acc-clauses current X89]",
"goal_id": 1375
}
],
@@ -48976,13 +47074,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -49001,8 +47097,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -49027,13 +47122,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -49048,8 +47141,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -49081,10 +47173,8 @@
"Inference",
{
"current_goal_id": 1373,
- "current_goal_text":
- "log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_=
27 \n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =
=C2=ABnat=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=ABIsSelfA'.axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86",
- "current_goal_predicate":
- "log.coq.env.add-const-noimplicits-failondup",
+ "current_goal_text": "log.coq.env.add-const-noimplicits-failondup =
HB_unnamed_factory_27 \n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=
=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun=
`x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86",
+ "current_goal_predicate": "log.coq.env.add-const-noimplicits-failo=
ndup",
"failed_attempts": [],
"successful_attempts": [
{
@@ -49092,13 +47182,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2=
A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information =
in \n A0=
: A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.ve=
rnac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failond=
up A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some i=
nformation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vern=
ac\n (\n=
log.pri=
vate.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\=
n (const=
A4) \n =
[[]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
log.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -49122,8 +47210,7 @@
},
"siblings": [
{
- "goal_text":
- "std.do!\n [if\n (not\n (ground_term\n (app =
[global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]=
) ;\n ground_term\n (app\n [global (indc =C2=ABIsSelf=
A'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc=
=C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]))) \n =
(,\n (coq.term->string\n (app [global (indt =C2=ABIsSelfA'.axioms=
_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X111) \n (coq.term->string\n =
(app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (i=
ndt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (glo=
bal (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X112) \n (coq.error HB: cannot i=
nfer some information in HB_unnamed_factory_27 : \n X111 :=3D X112)) =
true, \n coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (=
indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ =
c0]) \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =
=C2=ABnat=C2=BB)]) ff X86, \n log.coq.env.add-location (const X86), \n if=
(var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=AB=
nat=C2=BB)])) \n (X113 =3D none) \n (X113 =3D\n some (app [global (=
indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])), \n l=
og.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_fac=
tory_27 X113 \n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fu=
n `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0])), \n get-option coq:local=
ity local =3D>\n log.coq.arguments.set-implicit (const X86) [[]]]",
+ "goal_text": "std.do!\n [if\n (not\n (ground_term\n =
(app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=AB=
nat=C2=BB)]) ;\n ground_term\n (app\n [global (indc =
=C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ =
c0]))) \n (,\n (coq.term->string\n (app [global (indt =C2=ABIsS=
elfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X111) \n (coq.ter=
m->string\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), =
fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X112) \n (coq.error =
HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 =
:=3D X112)) true, \n coq.env.add-const HB_unnamed_factory_27 \n (app\n =
[global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=
=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), =
global (indt =C2=ABnat=C2=BB)]) ff X86, \n log.coq.env.add-location (const=
X86), \n if (var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global=
(indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113 =3D\n some (=
app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition =
HB_unnamed_factory_27 X113 \n (app\n [global (indc =C2=ABIsSelfA'=
.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=
=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0])), \n get-o=
ption coq:locality local =3D>\n log.coq.arguments.set-implicit (const X86=
) [[]]]",
"goal_id": 1376
}
],
@@ -49136,13 +47223,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -49366,13 +47451,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -49391,8 +47474,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -49417,13 +47499,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -49438,8 +47518,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -49471,8 +47550,7 @@
"Inference",
{
"current_goal_id": 1376,
- "current_goal_text":
- "std.do!\n [if\n (not\n (ground_term\n (app [global =
(indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ;\n =
ground_term\n (app\n [global (indc =C2=ABIsSelfA'.Axiom=
s_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=
=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]))) \n (,\n =
(coq.term->string\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB)=
, global (indt =C2=ABnat=C2=BB)]) X111) \n (coq.term->string\n (a=
pp\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (in=
dt =C2=ABnat=C2=BB)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer so=
me information in HB_unnamed_factory_27 : \n X111 :=3D X112)) true, \=
n coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc =
=C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n globa=
l (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) =
\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABn=
at=C2=BB)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (=
app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB)])) \n (X113 =3D none) \n (X113 =3D\n some (app [global (indt =
=C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])), \n log.pr=
ivate.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_=
27 X113 \n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), gl=
obal (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x`=
(global (indt =C2=ABnat=C2=BB)) c0 \\ c0])), \n get-option coq:locality l=
ocal =3D>\n log.coq.arguments.set-implicit (const X86) [[]]]",
+ "current_goal_text": "std.do!\n [if\n (not\n (ground_term\n =
(app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=AB=
nat=C2=BB)]) ;\n ground_term\n (app\n [global (indc =
=C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ =
c0]))) \n (,\n (coq.term->string\n (app [global (indt =C2=ABIsS=
elfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X111) \n (coq.ter=
m->string\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), =
fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X112) \n (coq.error =
HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 =
:=3D X112)) true, \n coq.env.add-const HB_unnamed_factory_27 \n (app\n =
[global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=
=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), =
global (indt =C2=ABnat=C2=BB)]) ff X86, \n log.coq.env.add-location (const=
X86), \n if (var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global=
(indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113 =3D\n some (=
app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition =
HB_unnamed_factory_27 X113 \n (app\n [global (indc =C2=ABIsSelfA'=
.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=
=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0])), \n get-o=
ption coq:locality local =3D>\n log.coq.arguments.set-implicit (const X86=
) [[]]]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -49481,8 +47559,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -49507,14 +47584,12 @@
},
"siblings": [
{
- "goal_text":
- "if\n (not\n (ground_term\n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ;\n ground_=
term\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), glob=
al (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` =
(global (indt =C2=ABnat=C2=BB)) c0 \\ c0]))) \n (,\n (coq.term->string\n =
(app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABna=
t=C2=BB)]) X111) \n (coq.term->string\n (app\n [global (indc =
=C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n glo=
bal (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]=
) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_fac=
tory_27 : \n X111 :=3D X112)) true",
+ "goal_text": "if\n (not\n (ground_term\n (app [globa=
l (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ;\n =
ground_term\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=
=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]))) \n (,\n (coq.t=
erm->string\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global =
(indt =C2=ABnat=C2=BB)]) X111) \n (coq.term->string\n (app\n [g=
lobal (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \=
n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB=
)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB=
_unnamed_factory_27 : \n X111 :=3D X112)) true",
"goal_id": 1377
},
{ "goal_text": "!", "goal_id": 1378 },
{
- "goal_text":
- "std.do!\n [coq.env.add-const HB_unnamed_factory_27 \n =
(app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =
=C2=ABnat=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=ABIsSelfA'.axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n log.coq.env.add-locati=
on (const X86), \n if (var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113 =3D\n =
some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB)])), \n log.private.log-vernac\n (log.private.coq.vernac.de=
finition HB_unnamed_factory_27 X113 \n (app\n [global (indc =C2=
=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global=
(indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0])),=
\n get-option coq:locality local =3D>\n log.coq.arguments.set-implicit =
(const X86) [[]]]",
+ "goal_text": "std.do!\n [coq.env.add-const HB_unnamed_fact=
ory_27 \n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global =
(indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (globa=
l (indt =C2=ABnat=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=ABIsSelfA'=
.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n log.coq.env.ad=
d-location (const X86), \n if (var (app [global (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113=
=3D\n some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (i=
ndt =C2=ABnat=C2=BB)])), \n log.private.log-vernac\n (log.private.coq.ve=
rnac.definition HB_unnamed_factory_27 X113 \n (app\n [global (ind=
c =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n g=
lobal (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c=
0])), \n get-option coq:locality local =3D>\n log.coq.arguments.set-impl=
icit (const X86) [[]]]",
"goal_id": 1379
}
],
@@ -49546,13 +47621,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -49776,13 +47849,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -49801,8 +47872,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -49827,13 +47897,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -49848,8 +47916,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -49881,8 +47948,7 @@
"Inference",
{
"current_goal_id": 1377,
- "current_goal_text":
- "if\n (not\n (ground_term\n (app [global (indt =C2=ABIsSel=
fA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ;\n ground_term\n =
(app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt=
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global =
(indt =C2=ABnat=C2=BB)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app=
[global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)=
]) X111) \n (coq.term->string\n (app\n [global (indc =C2=ABIsSe=
lfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =
=C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X112) \n=
(coq.error HB: cannot infer some information in HB_unnamed_factory_27 : =
\n X111 :=3D X112)) true",
+ "current_goal_text": "if\n (not\n (ground_term\n (app [globa=
l (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ;\n =
ground_term\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=
=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]))) \n (,\n (coq.t=
erm->string\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global =
(indt =C2=ABnat=C2=BB)]) X111) \n (coq.term->string\n (app\n [g=
lobal (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \=
n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB=
)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB=
_unnamed_factory_27 : \n X111 :=3D X112)) true",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -49916,14 +47982,12 @@
},
"siblings": [
{
- "goal_text":
- "not\n (ground_term\n (app [global (indt =C2=ABIsSelfA=
'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ;\n ground_term\n (a=
pp\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABn=
at=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=
=ABnat=C2=BB)) c0 \\ c0]))",
+ "goal_text": "not\n (ground_term\n (app [global (indt =
=C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ;\n ground=
_term\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global =
(indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (glob=
al (indt =C2=ABnat=C2=BB)) c0 \\ c0]))",
"goal_id": 1380
},
{ "goal_text": "!", "goal_id": 1381 },
{
- "goal_text":
- ",\n (coq.term->string\n (app [global (indt =C2=ABIsSe=
lfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X111) \n (coq.term->st=
ring\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (in=
dt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (=
indt =C2=ABnat=C2=BB)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some=
information in HB_unnamed_factory_27 : \n X111 :=3D X112)",
+ "goal_text": ",\n (coq.term->string\n (app [global (indt=
=C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X111) \n (c=
oq.term->string\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB),=
global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x=
` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X112) \n (coq.error HB: cannot=
infer some information in HB_unnamed_factory_27 : \n X111 :=3D X112)",
"goal_id": 1382
}
],
@@ -49974,13 +48038,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -50204,13 +48266,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -50229,8 +48289,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -50255,13 +48314,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -50276,8 +48333,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -50309,8 +48365,7 @@
"Inference",
{
"current_goal_id": 1380,
- "current_goal_text":
- "not\n (ground_term\n (app [global (indt =C2=ABIsSelfA'.axioms=
_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ;\n ground_term\n (app\n =
[global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB=
), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=
=BB)) c0 \\ c0]))",
+ "current_goal_text": "not\n (ground_term\n (app [global (indt =
=C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ;\n ground=
_term\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global =
(indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (glob=
al (indt =C2=ABnat=C2=BB)) c0 \\ c0]))",
"current_goal_predicate": "not",
"failed_attempts": [],
"successful_attempts": [
@@ -50340,8 +48395,7 @@
},
"siblings": [
{
- "goal_text":
- "ground_term (app [global (indt =C2=ABIsSelfA'.axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB)])\n ;\n ground_term\n (app\n [gl=
obal (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n=
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c=
0 \\ c0])",
+ "goal_text": "ground_term (app [global (indt =C2=ABIsSelfA=
'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])\n ;\n ground_term\n (app=
\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABna=
t=C2=BB)) c0 \\ c0])",
"goal_id": 1383
},
{ "goal_text": "!", "goal_id": 1384 },
@@ -50413,13 +48467,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -50643,13 +48695,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -50668,8 +48718,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -50694,13 +48743,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -50715,8 +48762,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -50748,8 +48794,7 @@
"Inference",
{
"current_goal_id": 1383,
- "current_goal_text":
- "ground_term (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), g=
lobal (indt =C2=ABnat=C2=BB)])\n ;\n ground_term\n (app\n [global (indc=
=C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n globa=
l (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0])",
+ "current_goal_text": "ground_term (app [global (indt =C2=ABIsSelfA=
'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])\n ;\n ground_term\n (app=
\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABna=
t=C2=BB)) c0 \\ c0])",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -50779,8 +48824,7 @@
},
"siblings": [
{
- "goal_text":
- "ground_term (app [global (indt =C2=ABIsSelfA'.axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB)])",
+ "goal_text": "ground_term (app [global (indt =C2=ABIsSelfA=
'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])",
"goal_id": 1386
}
],
@@ -50869,13 +48913,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -51099,13 +49141,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -51124,8 +49164,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -51150,13 +49189,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -51171,8 +49208,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -51204,8 +49240,7 @@
"Inference",
{
"current_goal_id": 1386,
- "current_goal_text":
- "ground_term (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), g=
lobal (indt =C2=ABnat=C2=BB)])",
+ "current_goal_text": "ground_term (app [global (indt =C2=ABIsSelfA=
'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])",
"current_goal_predicate": "ground_term",
"failed_attempts": [],
"successful_attempts": [
@@ -51305,13 +49340,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -51535,13 +49568,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -51560,8 +49591,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -51586,13 +49616,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -51607,8 +49635,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -51643,8 +49670,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "ground_term (app [global (indt =C2=ABIsSelfA'.axioms_=C2=
=BB), global (indt =C2=ABnat=C2=BB)])\n ;\n ground_term\n (app\n [globa=
l (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \=
\ c0])",
+ "goal_text": "ground_term (app [global (indt =C2=ABIsSelfA'.=
axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])\n ;\n ground_term\n (app\n=
[global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=
=C2=BB)) c0 \\ c0])",
"goal_id": 1383
},
"cut_branch": {
@@ -51662,8 +49688,7 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "not\n (ground_term\n (app [global (indt =C2=ABIsSelfA'.=
axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ;\n ground_term\n (app=
\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=AB=
nat=C2=BB)) c0 \\ c0]))",
+ "goal_text": "not\n (ground_term\n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ;\n ground_te=
rm\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (in=
dt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global =
(indt =C2=ABnat=C2=BB)) c0 \\ c0]))",
"goal_id": 1380
},
"cut_branch": {
@@ -51758,13 +49783,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -51988,13 +50011,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -52013,8 +50034,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -52039,13 +50059,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -52060,8 +50078,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -52093,8 +50110,7 @@
"Inference",
{
"current_goal_id": 1377,
- "current_goal_text":
- "if\n (not\n (ground_term\n (app [global (indt =C2=ABIsSel=
fA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ;\n ground_term\n =
(app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt=
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global =
(indt =C2=ABnat=C2=BB)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app=
[global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)=
]) X111) \n (coq.term->string\n (app\n [global (indc =C2=ABIsSe=
lfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =
=C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]) X112) \n=
(coq.error HB: cannot infer some information in HB_unnamed_factory_27 : =
\n X111 :=3D X112)) true",
+ "current_goal_text": "if\n (not\n (ground_term\n (app [globa=
l (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ;\n =
ground_term\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=
=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]))) \n (,\n (coq.t=
erm->string\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global =
(indt =C2=ABnat=C2=BB)]) X111) \n (coq.term->string\n (app\n [g=
lobal (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \=
n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB=
)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB=
_unnamed_factory_27 : \n X111 :=3D X112)) true",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -52165,13 +50181,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -52395,13 +50409,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -52420,8 +50432,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -52446,13 +50457,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -52467,8 +50476,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -52590,13 +50598,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -52820,13 +50826,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -52845,8 +50849,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -52871,13 +50874,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -52892,8 +50893,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -52931,8 +50931,7 @@
"Inference",
{
"current_goal_id": 1379,
- "current_goal_text":
- "std.do!\n [coq.env.add-const HB_unnamed_factory_27 \n (app\n =
[global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=
=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), =
global (indt =C2=ABnat=C2=BB)]) ff X86, \n log.coq.env.add-location (const=
X86), \n if (var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global=
(indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113 =3D\n some (=
app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition =
HB_unnamed_factory_27 X113 \n (app\n [global (indc =C2=ABIsSelfA'=
.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=
=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0])), \n get-o=
ption coq:locality local =3D>\n log.coq.arguments.set-implicit (const X86=
) [[]]]",
+ "current_goal_text": "std.do!\n [coq.env.add-const HB_unnamed_fact=
ory_27 \n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global =
(indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (globa=
l (indt =C2=ABnat=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=ABIsSelfA'=
.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) ff X86, \n log.coq.env.ad=
d-location (const X86), \n if (var (app [global (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113=
=3D\n some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (i=
ndt =C2=ABnat=C2=BB)])), \n log.private.log-vernac\n (log.private.coq.ve=
rnac.definition HB_unnamed_factory_27 X113 \n (app\n [global (ind=
c =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n g=
lobal (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c=
0])), \n get-option coq:locality local =3D>\n log.coq.arguments.set-impl=
icit (const X86) [[]]]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -52941,8 +50940,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -52967,14 +50965,12 @@
},
"siblings": [
{
- "goal_text":
- "coq.env.add-const HB_unnamed_factory_27 \n (app\n [gl=
obal (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n=
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0=
\\ c0]) \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =
=C2=ABnat=C2=BB)]) ff X86",
+ "goal_text": "coq.env.add-const HB_unnamed_factory_27 \n (=
app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=
=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), gl=
obal (indt =C2=ABnat=C2=BB)]) ff X86",
"goal_id": 1388
},
{ "goal_text": "!", "goal_id": 1389 },
{
- "goal_text":
- "std.do!\n [log.coq.env.add-location (const X86), \n if=
(var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=AB=
nat=C2=BB)])) \n (X113 =3D none) \n (X113 =3D\n some (app [global (=
indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])), \n l=
og.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_fac=
tory_27 X113 \n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fu=
n `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0])), \n get-option coq:local=
ity local =3D>\n log.coq.arguments.set-implicit (const X86) [[]]]",
+ "goal_text": "std.do!\n [log.coq.env.add-location (const X=
86), \n if (var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (=
indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113 =3D\n some (ap=
p [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB=
)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_=
unnamed_factory_27 X113 \n (app\n [global (indc =C2=ABIsSelfA'.Ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (indc =C2=ABO=
=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0])), \n get-optio=
n coq:locality local =3D>\n log.coq.arguments.set-implicit (const X86) [[=
]]]",
"goal_id": 1390
}
],
@@ -53025,13 +51021,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -53255,13 +51249,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -53280,8 +51272,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -53306,13 +51297,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -53327,8 +51316,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -53360,8 +51348,7 @@
"Inference",
{
"current_goal_id": 1388,
- "current_goal_text":
- "coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (in=
dc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n glob=
al (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0])=
\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABna=
t=C2=BB)]) ff X86",
+ "current_goal_text": "coq.env.add-const HB_unnamed_factory_27 \n (=
app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=
=C2=BB)) c0 \\ c0]) \n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), gl=
obal (indt =C2=ABnat=C2=BB)]) ff X86",
"current_goal_predicate": "coq.env.add-const",
"failed_attempts": [],
"successful_attempts": [
@@ -53428,13 +51415,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -53658,13 +51643,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -53683,8 +51666,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -53709,13 +51691,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -53730,8 +51710,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -53830,13 +51809,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -54060,13 +52037,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -54085,8 +52060,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -54111,13 +52085,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -54132,8 +52104,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -54171,8 +52142,7 @@
"Inference",
{
"current_goal_id": 1390,
- "current_goal_text":
- "std.do!\n [log.coq.env.add-location (const =C2=ABHB_unnamed_fac=
tory_27=C2=BB), \n if (var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113 =3D\n =
some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB)])), \n log.private.log-vernac\n (log.private.coq.vernac.de=
finition HB_unnamed_factory_27 X113 \n (app\n [global (indc =C2=
=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global=
(indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0])),=
\n get-option coq:locality local =3D>\n log.coq.arguments.set-implicit =
(const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]]",
+ "current_goal_text": "std.do!\n [log.coq.env.add-location (const =
=C2=ABHB_unnamed_factory_27=C2=BB), \n if (var (app [global (indt =C2=ABIs=
SelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (X113 =3D none=
) \n (X113 =3D\n some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB)])), \n log.private.log-vernac\n (log.pr=
ivate.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n =
[global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB),=
\n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=
=BB)) c0 \\ c0])), \n get-option coq:locality local =3D>\n log.coq.argum=
ents.set-implicit (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -54181,8 +52151,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -54207,14 +52176,12 @@
},
"siblings": [
{
- "goal_text":
- "log.coq.env.add-location (const =C2=ABHB_unnamed_factor=
y_27=C2=BB)",
+ "goal_text": "log.coq.env.add-location (const =C2=ABHB_unn=
amed_factory_27=C2=BB)",
"goal_id": 1392
},
{ "goal_text": "!", "goal_id": 1393 },
{
- "goal_text":
- "std.do!\n [if (var (app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X=
113 =3D\n some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global=
(indt =C2=ABnat=C2=BB)])), \n log.private.log-vernac\n (log.private.coq=
.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (=
indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \=
\ c0])), \n get-option coq:locality local =3D>\n log.coq.arguments.set-i=
mplicit (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]]",
+ "goal_text": "std.do!\n [if (var (app [global (indt =C2=AB=
IsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (X113 =3D no=
ne) \n (X113 =3D\n some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=
=BB), global (indt =C2=ABnat=C2=BB)])), \n log.private.log-vernac\n (log=
.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n =
[global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABna=
t=C2=BB)) c0 \\ c0])), \n get-option coq:locality local =3D>\n log.coq.a=
rguments.set-implicit (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]]",
"goal_id": 1394
}
],
@@ -54284,13 +52251,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -54514,13 +52479,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -54539,8 +52502,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -54565,13 +52527,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -54586,8 +52546,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -54619,8 +52578,7 @@
"Inference",
{
"current_goal_id": 1392,
- "current_goal_text":
- "log.coq.env.add-location (const =C2=ABHB_unnamed_factory_27=C2=
=BB)",
+ "current_goal_text": "log.coq.env.add-location (const =C2=ABHB_unn=
amed_factory_27=C2=BB)",
"current_goal_predicate": "log.coq.env.add-location",
"failed_attempts": [],
"successful_attempts": [
@@ -54629,13 +52587,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-location A0) :- (if (get-option elpi=
.loc A1) \n (acc-clause library (decl-loc=
ation A0 A1)) \n true).",
+ "rule_text": "(log.coq.env.add-location A0) :- (if (get-=
option elpi.loc A1) \n (acc-clause librar=
y (decl-location A0 A1)) \n true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
log.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/log.elpi",
"line": 21,
"column": 0,
"character": 831
@@ -54649,8 +52605,7 @@
},
"siblings": [
{
- "goal_text":
- "if (get-option elpi.loc X114) \n (acc-clause library (d=
ecl-location (const =C2=ABHB_unnamed_factory_27=C2=BB) X114)) \n true",
+ "goal_text": "if (get-option elpi.loc X114) \n (acc-clause=
library (decl-location (const =C2=ABHB_unnamed_factory_27=C2=BB) X114)) \n=
true",
"goal_id": 1395
}
],
@@ -54663,13 +52618,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-location A0) :- (if (get-option elpi.l=
oc A1) \n (acc-clause library (decl-locat=
ion A0 A1)) \n true).",
+ "rule_text": "(log.coq.env.add-location A0) :- (if (get-op=
tion elpi.loc A1) \n (acc-clause library =
(decl-location A0 A1)) \n true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 21,
"column": 0,
"character": 831
@@ -54741,13 +52694,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -54971,13 +52922,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -54996,8 +52945,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -55022,13 +52970,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -55043,8 +52989,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -55076,8 +53021,7 @@
"Inference",
{
"current_goal_id": 1395,
- "current_goal_text":
- "if (get-option elpi.loc X114) \n (acc-clause library (decl-loca=
tion (const =C2=ABHB_unnamed_factory_27=C2=BB) X114)) \n true",
+ "current_goal_text": "if (get-option elpi.loc X114) \n (acc-clause=
library (decl-location (const =C2=ABHB_unnamed_factory_27=C2=BB) X114)) \n=
true",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -55110,8 +53054,7 @@
{ "goal_text": "get-option elpi.loc X114", "goal_id": 1396 },
{ "goal_text": "!", "goal_id": 1397 },
{
- "goal_text":
- "acc-clause library (decl-location (const =C2=ABHB_unnam=
ed_factory_27=C2=BB) X114)",
+ "goal_text": "acc-clause library (decl-location (const =C2=
=ABHB_unnamed_factory_27=C2=BB) X114)",
"goal_id": 1398
}
],
@@ -55143,13 +53086,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-location A0) :- (if (get-option elpi.l=
oc A1) \n (acc-clause library (decl-locat=
ion A0 A1)) \n true).",
+ "rule_text": "(log.coq.env.add-location A0) :- (if (get-op=
tion elpi.loc A1) \n (acc-clause library =
(decl-location A0 A1)) \n true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 21,
"column": 0,
"character": 831
@@ -55221,13 +53162,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -55451,13 +53390,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -55476,8 +53413,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -55502,13 +53438,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -55523,8 +53457,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -55565,8 +53498,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(get-option elpi.loc File \"(stdin)\", line 1, column=
2, character 3:) :- .",
+ "rule_text": "(get-option elpi.loc File \"(stdin)\", lin=
e 1, column 2, character 3:) :- .",
"rule_loc": [ "Context", 74 ]
}
],
@@ -55587,8 +53519,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(get-option elpi.loc File \"(stdin)\", line 1, column 2=
, character 3:) :- .",
+ "rule_text": "(get-option elpi.loc File \"(stdin)\", line =
1, column 2, character 3:) :- .",
"rule_loc": [ "Context", 74 ]
}
],
@@ -55618,13 +53549,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-location A0) :- (if (get-option elpi.l=
oc A1) \n (acc-clause library (decl-locat=
ion A0 A1)) \n true).",
+ "rule_text": "(log.coq.env.add-location A0) :- (if (get-op=
tion elpi.loc A1) \n (acc-clause library =
(decl-location A0 A1)) \n true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 21,
"column": 0,
"character": 831
@@ -55696,13 +53625,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -55926,13 +53853,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -55951,8 +53876,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -55977,13 +53901,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -55998,8 +53920,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -56034,8 +53955,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "if (get-option elpi.loc X114) \n (acc-clause library (dec=
l-location (const =C2=ABHB_unnamed_factory_27=C2=BB) X114)) \n true",
+ "goal_text": "if (get-option elpi.loc X114) \n (acc-clause l=
ibrary (decl-location (const =C2=ABHB_unnamed_factory_27=C2=BB) X114)) \n t=
rue",
"goal_id": 1395
},
"cut_branch": {
@@ -56063,8 +53983,7 @@
"Inference",
{
"current_goal_id": 1398,
- "current_goal_text":
- "acc-clause library \n (decl-location (const =C2=ABHB_unnamed_fa=
ctory_27=C2=BB) \n File \"(stdin)\", line 1, column 2, character 3:)",
+ "current_goal_text": "acc-clause library \n (decl-location (const =
=C2=ABHB_unnamed_factory_27=C2=BB) \n File \"(stdin)\", line 1, column 2,=
character 3:)",
"current_goal_predicate": "acc-clause",
"failed_attempts": [],
"successful_attempts": [
@@ -56073,13 +53992,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(acc-clause A0 A1) :- (coq.elpi.accumulate A0 hb.db (=
clause _ _ A1)).",
+ "rule_text": "(acc-clause A0 A1) :- (coq.elpi.accumulate=
A0 hb.db (clause _ _ A1)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
utils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/utils.elpi",
"line": 75,
"column": 0,
"character": 2237
@@ -56097,8 +54014,7 @@
},
"siblings": [
{
- "goal_text":
- "coq.elpi.accumulate library hb.db \n (clause _ _ \n (=
decl-location (const =C2=ABHB_unnamed_factory_27=C2=BB) \n File \"(stdi=
n)\", line 1, column 2, character 3:))",
+ "goal_text": "coq.elpi.accumulate library hb.db \n (clause=
_ _ \n (decl-location (const =C2=ABHB_unnamed_factory_27=C2=BB) \n F=
ile \"(stdin)\", line 1, column 2, character 3:))",
"goal_id": 1399
}
],
@@ -56111,13 +54027,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(acc-clause A0 A1) :- (coq.elpi.accumulate A0 hb.db (cl=
ause _ _ A1)).",
+ "rule_text": "(acc-clause A0 A1) :- (coq.elpi.accumulate A=
0 hb.db (clause _ _ A1)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 75,
"column": 0,
"character": 2237
@@ -56151,13 +54065,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-location A0) :- (if (get-option elpi.l=
oc A1) \n (acc-clause library (decl-locat=
ion A0 A1)) \n true).",
+ "rule_text": "(log.coq.env.add-location A0) :- (if (get-op=
tion elpi.loc A1) \n (acc-clause library =
(decl-location A0 A1)) \n true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 21,
"column": 0,
"character": 831
@@ -56229,13 +54141,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -56459,13 +54369,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -56484,8 +54392,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -56510,13 +54417,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -56531,8 +54436,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -56564,8 +54468,7 @@
"Inference",
{
"current_goal_id": 1399,
- "current_goal_text":
- "coq.elpi.accumulate library hb.db \n (clause _ _ \n (decl-loc=
ation (const =C2=ABHB_unnamed_factory_27=C2=BB) \n File \"(stdin)\", li=
ne 1, column 2, character 3:))",
+ "current_goal_text": "coq.elpi.accumulate library hb.db \n (clause=
_ _ \n (decl-location (const =C2=ABHB_unnamed_factory_27=C2=BB) \n F=
ile \"(stdin)\", line 1, column 2, character 3:))",
"current_goal_predicate": "coq.elpi.accumulate",
"failed_attempts": [],
"successful_attempts": [
@@ -56589,13 +54492,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(acc-clause A0 A1) :- (coq.elpi.accumulate A0 hb.db (cl=
ause _ _ A1)).",
+ "rule_text": "(acc-clause A0 A1) :- (coq.elpi.accumulate A=
0 hb.db (clause _ _ A1)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 75,
"column": 0,
"character": 2237
@@ -56629,13 +54530,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-location A0) :- (if (get-option elpi.l=
oc A1) \n (acc-clause library (decl-locat=
ion A0 A1)) \n true).",
+ "rule_text": "(log.coq.env.add-location A0) :- (if (get-op=
tion elpi.loc A1) \n (acc-clause library =
(decl-location A0 A1)) \n true).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 21,
"column": 0,
"character": 831
@@ -56707,13 +54606,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -56937,13 +54834,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -56962,8 +54857,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -56988,13 +54882,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -57009,8 +54901,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -57048,8 +54939,7 @@
"Inference",
{
"current_goal_id": 1394,
- "current_goal_text":
- "std.do!\n [if (var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=
=BB), global (indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113 =3D\=
n some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =
=C2=ABnat=C2=BB)])), \n log.private.log-vernac\n (log.private.coq.vernac=
.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc =
=C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n glo=
bal (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]=
)), \n get-option coq:locality local =3D>\n log.coq.arguments.set-implic=
it (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]]",
+ "current_goal_text": "std.do!\n [if (var (app [global (indt =C2=AB=
IsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (X113 =3D no=
ne) \n (X113 =3D\n some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=
=BB), global (indt =C2=ABnat=C2=BB)])), \n log.private.log-vernac\n (log=
.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n =
[global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABna=
t=C2=BB)) c0 \\ c0])), \n get-option coq:locality local =3D>\n log.coq.a=
rguments.set-implicit (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -57058,8 +54948,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -57084,14 +54973,12 @@
},
"siblings": [
{
- "goal_text":
- "if (var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113 =3D\n som=
e (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=
=C2=BB)]))",
+ "goal_text": "if (var (app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113 =
=3D\n some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt=
=C2=ABnat=C2=BB)]))",
"goal_id": 1400
},
{ "goal_text": "!", "goal_id": 1401 },
{
- "goal_text":
- "std.do!\n [log.private.log-vernac\n (log.private.coq.=
vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (i=
ndc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n =
global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\=
c0])), \n get-option coq:locality local =3D>\n log.coq.arguments.set-im=
plicit (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]]",
+ "goal_text": "std.do!\n [log.private.log-vernac\n (log.p=
rivate.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n =
[global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)=
, \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=
=BB)) c0 \\ c0])), \n get-option coq:locality local =3D>\n log.coq.argum=
ents.set-implicit (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]]",
"goal_id": 1402
}
],
@@ -57180,13 +55067,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -57410,13 +55295,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -57435,8 +55318,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -57461,13 +55343,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -57482,8 +55362,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -57515,8 +55394,7 @@
"Inference",
{
"current_goal_id": 1400,
- "current_goal_text":
- "if (var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), globa=
l (indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113 =3D\n some (app [=
global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])=
)",
+ "current_goal_text": "if (var (app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113 =
=3D\n some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt=
=C2=ABnat=C2=BB)]))",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -57547,8 +55425,7 @@
},
"siblings": [
{
- "goal_text":
- "var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), g=
lobal (indt =C2=ABnat=C2=BB)])",
+ "goal_text": "var (app [global (indt =C2=ABIsSelfA'.axioms=
_=C2=BB), global (indt =C2=ABnat=C2=BB)])",
"goal_id": 1403
},
{ "goal_text": "!", "goal_id": 1404 },
@@ -57658,13 +55535,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -57888,13 +55763,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -57913,8 +55786,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -57939,13 +55811,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -57960,8 +55830,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -57993,8 +55862,7 @@
"Inference",
{
"current_goal_id": 1403,
- "current_goal_text":
- "var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (i=
ndt =C2=ABnat=C2=BB)])",
+ "current_goal_text": "var (app [global (indt =C2=ABIsSelfA'.axioms=
_=C2=BB), global (indt =C2=ABnat=C2=BB)])",
"current_goal_predicate": "var",
"failed_attempts": [
{ "rule": [ "BuiltinRule", [ "FFI", "var" ] ], "events": [] }
@@ -58106,13 +55974,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -58336,13 +56202,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -58361,8 +56225,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -58387,13 +56250,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -58408,8 +56269,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -58441,8 +56301,7 @@
"Inference",
{
"current_goal_id": 1400,
- "current_goal_text":
- "if (var (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), globa=
l (indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113 =3D\n some (app [=
global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])=
)",
+ "current_goal_text": "if (var (app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (X113 =3D none) \n (X113 =
=3D\n some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt=
=C2=ABnat=C2=BB)]))",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -58472,8 +56331,7 @@
},
"siblings": [
{
- "goal_text":
- "X113 =3D some (app [global (indt =C2=ABIsSelfA'.axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB)])",
+ "goal_text": "X113 =3D some (app [global (indt =C2=ABIsSel=
fA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])",
"goal_id": 1406
}
],
@@ -58581,13 +56439,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -58811,13 +56667,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -58836,8 +56690,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -58862,13 +56715,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -58883,8 +56734,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -58916,8 +56766,7 @@
"Inference",
{
"current_goal_id": 1406,
- "current_goal_text":
- "X113 =3D some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB),=
global (indt =C2=ABnat=C2=BB)])",
+ "current_goal_text": "X113 =3D some (app [global (indt =C2=ABIsSel=
fA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -59041,13 +56890,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -59271,13 +57118,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -59296,8 +57141,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -59322,13 +57166,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -59343,8 +57185,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -59382,8 +57223,7 @@
"Inference",
{
"current_goal_id": 1402,
- "current_goal_text":
- "std.do!\n [log.private.log-vernac\n (log.private.coq.vernac.d=
efinition HB_unnamed_factory_27 \n (some (app [global (indt =C2=ABIsSel=
fA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (app\n [g=
lobal (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \=
n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB=
)) c0 \\ c0])), \n get-option coq:locality local =3D>\n log.coq.argument=
s.set-implicit (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]]",
+ "current_goal_text": "std.do!\n [log.private.log-vernac\n (log.p=
rivate.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [globa=
l (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n =
(app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (i=
ndt =C2=ABnat=C2=BB)) c0 \\ c0])), \n get-option coq:locality local =3D>\n=
log.coq.arguments.set-implicit (const =C2=ABHB_unnamed_factory_27=C2=BB)=
[[]]]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -59392,8 +57232,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -59418,14 +57257,12 @@
},
"siblings": [
{
- "goal_text":
- "log.private.log-vernac\n (log.private.coq.vernac.defini=
tion HB_unnamed_factory_27 \n (some (app [global (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (app\n [global (indc=
=C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n glob=
al (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0])=
)",
+ "goal_text": "log.private.log-vernac\n (log.private.coq.ve=
rnac.definition HB_unnamed_factory_27 \n (some (app [global (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (app\n [g=
lobal (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \=
n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB))=
c0 \\ c0]))",
"goal_id": 1407
},
{ "goal_text": "!", "goal_id": 1408 },
{
- "goal_text":
- "std.do!\n [get-option coq:locality local =3D>\n log.c=
oq.arguments.set-implicit (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]]",
+ "goal_text": "std.do!\n [get-option coq:locality local =3D=
>\n log.coq.arguments.set-implicit (const =C2=ABHB_unnamed_factory_27=C2=
=BB) [[]]]",
"goal_id": 1409
}
],
@@ -59533,13 +57370,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -59763,13 +57598,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -59788,8 +57621,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -59814,13 +57646,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -59835,8 +57665,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -59868,8 +57697,7 @@
"Inference",
{
"current_goal_id": 1407,
- "current_goal_text":
- "log.private.log-vernac\n (log.private.coq.vernac.definition HB_=
unnamed_factory_27 \n (some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=
=BB), global (indt =C2=ABnat=C2=BB)])) \n (app\n [global (indc =C2=AB=
IsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (ind=
c =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]))",
+ "current_goal_text": "log.private.log-vernac\n (log.private.coq.ve=
rnac.definition HB_unnamed_factory_27 \n (some (app [global (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (app\n [g=
lobal (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \=
n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB))=
c0 \\ c0]))",
"current_goal_predicate": "log.private.log-vernac",
"failed_attempts": [],
"successful_attempts": [
@@ -59878,13 +57706,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.private.log-vernac A0) :- (log.private.logger A1=
A2), (!), \n (if (A2 =3D tt) (A3 =3D []) (A3 =3D [get-option coq:pp all]))=
, \n (A3 =3D> log.private.coq.vernac->pp [A0] A4), \n (log.private.logger-e=
xtend A1 A4).",
+ "rule_text": "(log.private.log-vernac A0) :- (log.privat=
e.logger A1 A2), (!), \n (if (A2 =3D tt) (A3 =3D []) (A3 =3D [get-option co=
q:pp all])), \n (A3 =3D> log.private.coq.vernac->pp [A0] A4), \n (log.priva=
te.logger-extend A1 A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
log.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/log.elpi",
"line": 291,
"column": 0,
"character": 11441
@@ -59906,13 +57732,11 @@
},
{ "goal_text": "!", "goal_id": 1411 },
{
- "goal_text":
- "if (X116 =3D tt) (X117 =3D []) (X117 =3D [get-option co=
q:pp all])",
+ "goal_text": "if (X116 =3D tt) (X117 =3D []) (X117 =3D [ge=
t-option coq:pp all])",
"goal_id": 1412
},
{
- "goal_text":
- "X117 =3D>\n log.private.coq.vernac->pp\n [log.private.=
coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt =
=C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (app\=
n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=
=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=AB=
nat=C2=BB)) c0 \\ c0])] X118",
+ "goal_text": "X117 =3D>\n log.private.coq.vernac->pp\n [l=
og.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [gl=
obal (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) =
\n (app\n [global (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt=
=C2=ABnat=C2=BB), \n global (indc =C2=ABO=C2=BB), fun `x` (global (i=
ndt =C2=ABnat=C2=BB)) c0 \\ c0])] X118",
"goal_id": 1413
},
{
@@ -59929,13 +57753,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.private.log-vernac A0) :- (log.private.logger A1 A=
2), (!), \n (if (A2 =3D tt) (A3 =3D []) (A3 =3D [get-option coq:pp all])), =
\n (A3 =3D> log.private.coq.vernac->pp [A0] A4), \n (log.private.logger-ext=
end A1 A4).",
+ "rule_text": "(log.private.log-vernac A0) :- (log.private.=
logger A1 A2), (!), \n (if (A2 =3D tt) (A3 =3D []) (A3 =3D [get-option coq:=
pp all])), \n (A3 =3D> log.private.coq.vernac->pp [A0] A4), \n (log.private=
.logger-extend A1 A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 291,
"column": 0,
"character": 11441
@@ -60045,13 +57867,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -60275,13 +58095,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -60300,8 +58118,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -60326,13 +58143,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -60347,8 +58162,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -60390,13 +58204,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.private.log-vernac A0) :- (log.private.logger A1 A=
2), (!), \n (if (A2 =3D tt) (A3 =3D []) (A3 =3D [get-option coq:pp all])), =
\n (A3 =3D> log.private.coq.vernac->pp [A0] A4), \n (log.private.logger-ext=
end A1 A4).",
+ "rule_text": "(log.private.log-vernac A0) :- (log.private.=
logger A1 A2), (!), \n (if (A2 =3D tt) (A3 =3D []) (A3 =3D [get-option coq:=
pp all])), \n (A3 =3D> log.private.coq.vernac->pp [A0] A4), \n (log.private=
.logger-extend A1 A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 291,
"column": 0,
"character": 11441
@@ -60506,13 +58318,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -60736,13 +58546,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -60761,8 +58569,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -60787,13 +58594,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -60808,8 +58613,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -60841,8 +58645,7 @@
"Inference",
{
"current_goal_id": 1407,
- "current_goal_text":
- "log.private.log-vernac\n (log.private.coq.vernac.definition HB_=
unnamed_factory_27 \n (some (app [global (indt =C2=ABIsSelfA'.axioms_=C2=
=BB), global (indt =C2=ABnat=C2=BB)])) \n (app\n [global (indc =C2=AB=
IsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \n global (ind=
c =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB)) c0 \\ c0]))",
+ "current_goal_text": "log.private.log-vernac\n (log.private.coq.ve=
rnac.definition HB_unnamed_factory_27 \n (some (app [global (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)])) \n (app\n [g=
lobal (indc =C2=ABIsSelfA'.Axioms_=C2=BB), global (indt =C2=ABnat=C2=BB), \=
n global (indc =C2=ABO=C2=BB), fun `x` (global (indt =C2=ABnat=C2=BB))=
c0 \\ c0]))",
"current_goal_predicate": "log.private.log-vernac",
"failed_attempts": [],
"successful_attempts": [
@@ -60855,8 +58658,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
log.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/log.elpi",
"line": 294,
"column": 0,
"character": 11623
@@ -60880,8 +58682,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 294,
"column": 0,
"character": 11623
@@ -60991,13 +58792,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -61221,13 +59020,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -61246,8 +59043,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -61272,13 +59068,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -61293,8 +59087,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -61332,8 +59125,7 @@
"Inference",
{
"current_goal_id": 1409,
- "current_goal_text":
- "std.do!\n [get-option coq:locality local =3D>\n log.coq.argum=
ents.set-implicit (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]]",
+ "current_goal_text": "std.do!\n [get-option coq:locality local =3D=
>\n log.coq.arguments.set-implicit (const =C2=ABHB_unnamed_factory_27=C2=
=BB) [[]]]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -61342,8 +59134,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -61365,8 +59156,7 @@
},
"siblings": [
{
- "goal_text":
- "get-option coq:locality local =3D>\n log.coq.arguments.=
set-implicit (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]",
+ "goal_text": "get-option coq:locality local =3D>\n log.coq=
.arguments.set-implicit (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]",
"goal_id": 1415
},
{ "goal_text": "!", "goal_id": 1416 },
@@ -61495,13 +59285,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -61725,13 +59513,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -61750,8 +59536,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -61776,13 +59561,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -61797,8 +59580,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -61830,8 +59612,7 @@
"Inference",
{
"current_goal_id": 1415,
- "current_goal_text":
- "get-option coq:locality local =3D>\n log.coq.arguments.set-impl=
icit (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]",
+ "current_goal_text": "get-option coq:locality local =3D>\n log.coq=
.arguments.set-implicit (const =C2=ABHB_unnamed_factory_27=C2=BB) [[]]",
"current_goal_predicate": "=3D>",
"failed_attempts": [],
"successful_attempts": [
@@ -61842,8 +59623,7 @@
},
"siblings": [
{
- "goal_text":
- "log.coq.arguments.set-implicit (const =C2=ABHB_unnamed_=
factory_27=C2=BB) [[]]",
+ "goal_text": "log.coq.arguments.set-implicit (const =C2=AB=
HB_unnamed_factory_27=C2=BB) [[]]",
"goal_id": 1418
}
],
@@ -61975,13 +59755,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -62205,13 +59983,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -62230,8 +60006,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -62256,13 +60031,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -62277,8 +60050,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -62310,8 +60082,7 @@
"Inference",
{
"current_goal_id": 1418,
- "current_goal_text":
- "log.coq.arguments.set-implicit (const =C2=ABHB_unnamed_factory_=
27=C2=BB) [[]]",
+ "current_goal_text": "log.coq.arguments.set-implicit (const =C2=AB=
HB_unnamed_factory_27=C2=BB) [[]]",
"current_goal_predicate": "log.coq.arguments.set-implicit",
"failed_attempts": [],
"successful_attempts": [
@@ -62320,13 +60091,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A=
1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- =
(std.do!\n [coq.arguments.set-im=
plicit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
log.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -62341,8 +60110,7 @@
},
"siblings": [
{
- "goal_text":
- "std.do!\n [coq.arguments.set-implicit (const =C2=ABHB_u=
nnamed_factory_27=C2=BB) [[]], \n if (get-option coq:locality local) (X119=
=3D tt) (X119 =3D ff), \n (coq.gref->id (const =C2=ABHB_unnamed_factory_2=
7=C2=BB) X120 ,\n log.private.log-vernac (log.private.coq.vernac.implici=
t X119 X120 [[]]))]",
+ "goal_text": "std.do!\n [coq.arguments.set-implicit (const=
=C2=ABHB_unnamed_factory_27=C2=BB) [[]], \n if (get-option coq:locality l=
ocal) (X119 =3D tt) (X119 =3D ff), \n (coq.gref->id (const =C2=ABHB_unname=
d_factory_27=C2=BB) X120 ,\n log.private.log-vernac (log.private.coq.ver=
nac.implicit X119 X120 [[]]))]",
"goal_id": 1419
}
],
@@ -62355,13 +60123,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -62495,13 +60261,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -62725,13 +60489,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -62750,8 +60512,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -62776,13 +60537,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -62797,8 +60556,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -62830,8 +60588,7 @@
"Inference",
{
"current_goal_id": 1419,
- "current_goal_text":
- "std.do!\n [coq.arguments.set-implicit (const =C2=ABHB_unnamed_f=
actory_27=C2=BB) [[]], \n if (get-option coq:locality local) (X119 =3D tt)=
(X119 =3D ff), \n (coq.gref->id (const =C2=ABHB_unnamed_factory_27=C2=BB)=
X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X=
120 [[]]))]",
+ "current_goal_text": "std.do!\n [coq.arguments.set-implicit (const=
=C2=ABHB_unnamed_factory_27=C2=BB) [[]], \n if (get-option coq:locality l=
ocal) (X119 =3D tt) (X119 =3D ff), \n (coq.gref->id (const =C2=ABHB_unname=
d_factory_27=C2=BB) X120 ,\n log.private.log-vernac (log.private.coq.ver=
nac.implicit X119 X120 [[]]))]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -62840,8 +60597,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -62866,14 +60622,12 @@
},
"siblings": [
{
- "goal_text":
- "coq.arguments.set-implicit (const =C2=ABHB_unnamed_fact=
ory_27=C2=BB) [[]]",
+ "goal_text": "coq.arguments.set-implicit (const =C2=ABHB_u=
nnamed_factory_27=C2=BB) [[]]",
"goal_id": 1420
},
{ "goal_text": "!", "goal_id": 1421 },
{
- "goal_text":
- "std.do!\n [if (get-option coq:locality local) (X119 =3D=
tt) (X119 =3D ff), \n (coq.gref->id (const =C2=ABHB_unnamed_factory_27=C2=
=BB) X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X1=
19 X120 [[]]))]",
+ "goal_text": "std.do!\n [if (get-option coq:locality local=
) (X119 =3D tt) (X119 =3D ff), \n (coq.gref->id (const =C2=ABHB_unnamed_fa=
ctory_27=C2=BB) X120 ,\n log.private.log-vernac (log.private.coq.vernac.=
implicit X119 X120 [[]]))]",
"goal_id": 1422
}
],
@@ -62905,13 +60659,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -63045,13 +60797,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -63275,13 +61025,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -63300,8 +61048,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -63326,13 +61073,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -63347,8 +61092,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -63380,16 +61124,14 @@
"Inference",
{
"current_goal_id": 1420,
- "current_goal_text":
- "coq.arguments.set-implicit (const =C2=ABHB_unnamed_factory_27=
=C2=BB) [[]]",
+ "current_goal_text": "coq.arguments.set-implicit (const =C2=ABHB_u=
nnamed_factory_27=C2=BB) [[]]",
"current_goal_predicate": "coq.arguments.set-implicit",
"failed_attempts": [],
"successful_attempts": [
{
"attempt": {
"rule": [
- "BuiltinRule",
- [ "FFI", "coq.arguments.set-implicit" ]
+ "BuiltinRule", [ "FFI", "coq.arguments.set-implicit" ]
],
"events": []
},
@@ -63401,8 +61143,7 @@
"stack": [
{
"rule": [
- "BuiltinRule",
- [ "FFI", "coq.arguments.set-implicit" ]
+ "BuiltinRule", [ "FFI", "coq.arguments.set-implicit" ]
],
"step_id": 261,
"runtime_id": 8
@@ -63430,13 +61171,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -63570,13 +61309,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -63800,13 +61537,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -63825,8 +61560,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -63851,13 +61585,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -63872,8 +61604,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -63911,8 +61642,7 @@
"Inference",
{
"current_goal_id": 1422,
- "current_goal_text":
- "std.do!\n [if (get-option coq:locality local) (X119 =3D tt) (X1=
19 =3D ff), \n (coq.gref->id (const =C2=ABHB_unnamed_factory_27=C2=BB) X12=
0 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 =
[[]]))]",
+ "current_goal_text": "std.do!\n [if (get-option coq:locality local=
) (X119 =3D tt) (X119 =3D ff), \n (coq.gref->id (const =C2=ABHB_unnamed_fa=
ctory_27=C2=BB) X120 ,\n log.private.log-vernac (log.private.coq.vernac.=
implicit X119 X120 [[]]))]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -63921,8 +61651,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -63947,14 +61676,12 @@
},
"siblings": [
{
- "goal_text":
- "if (get-option coq:locality local) (X119 =3D tt) (X119 =
=3D ff)",
+ "goal_text": "if (get-option coq:locality local) (X119 =3D=
tt) (X119 =3D ff)",
"goal_id": 1423
},
{ "goal_text": "!", "goal_id": 1424 },
{
- "goal_text":
- "std.do!\n [(coq.gref->id (const =C2=ABHB_unnamed_factor=
y_27=C2=BB) X120 ,\n log.private.log-vernac (log.private.coq.vernac.impl=
icit X119 X120 [[]]))]",
+ "goal_text": "std.do!\n [(coq.gref->id (const =C2=ABHB_unn=
amed_factory_27=C2=BB) X120 ,\n log.private.log-vernac (log.private.coq.=
vernac.implicit X119 X120 [[]]))]",
"goal_id": 1425
}
],
@@ -64005,13 +61732,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -64145,13 +61870,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -64375,13 +62098,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -64400,8 +62121,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -64426,13 +62146,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -64447,8 +62165,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -64480,8 +62197,7 @@
"Inference",
{
"current_goal_id": 1423,
- "current_goal_text":
- "if (get-option coq:locality local) (X119 =3D tt) (X119 =3D ff)",
+ "current_goal_text": "if (get-option coq:locality local) (X119 =3D=
tt) (X119 =3D ff)",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -64581,13 +62297,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -64721,13 +62435,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -64951,13 +62663,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -64976,8 +62686,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -65002,13 +62711,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -65023,8 +62730,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -65149,13 +62855,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -65289,13 +62993,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -65519,13 +63221,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -65544,8 +63244,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -65570,13 +63269,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -65591,8 +63288,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -65627,8 +63323,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "if (get-option coq:locality local) (X119 =3D tt) (X119 =
=3D ff)",
+ "goal_text": "if (get-option coq:locality local) (X119 =3D t=
t) (X119 =3D ff)",
"goal_id": 1423
},
"cut_branch": {
@@ -65737,13 +63432,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -65877,13 +63570,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -66107,13 +63798,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -66132,8 +63821,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -66158,13 +63846,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -66179,8 +63865,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -66218,8 +63903,7 @@
"Inference",
{
"current_goal_id": 1425,
- "current_goal_text":
- "std.do!\n [(coq.gref->id (const =C2=ABHB_unnamed_factory_27=C2=
=BB) X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt=
X120 [[]]))]",
+ "current_goal_text": "std.do!\n [(coq.gref->id (const =C2=ABHB_unn=
amed_factory_27=C2=BB) X120 ,\n log.private.log-vernac (log.private.coq.=
vernac.implicit tt X120 [[]]))]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -66228,8 +63912,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -66251,8 +63934,7 @@
},
"siblings": [
{
- "goal_text":
- "coq.gref->id (const =C2=ABHB_unnamed_factory_27=C2=BB) =
X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[=
]])",
+ "goal_text": "coq.gref->id (const =C2=ABHB_unnamed_factory=
_27=C2=BB) X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit=
tt X120 [[]])",
"goal_id": 1429
},
{ "goal_text": "!", "goal_id": 1430 },
@@ -66324,13 +64006,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -66464,13 +64144,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -66694,13 +64372,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -66719,8 +64395,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -66745,13 +64420,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -66766,8 +64439,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -66799,8 +64471,7 @@
"Inference",
{
"current_goal_id": 1429,
- "current_goal_text":
- "coq.gref->id (const =C2=ABHB_unnamed_factory_27=C2=BB) X120 ,\n=
log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])",
+ "current_goal_text": "coq.gref->id (const =C2=ABHB_unnamed_factory=
_27=C2=BB) X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit=
tt X120 [[]])",
"current_goal_predicate": ",",
"failed_attempts": [],
"successful_attempts": [
@@ -66811,13 +64482,11 @@
},
"siblings": [
{
- "goal_text":
- "coq.gref->id (const =C2=ABHB_unnamed_factory_27=C2=BB) =
X120",
+ "goal_text": "coq.gref->id (const =C2=ABHB_unnamed_factory=
_27=C2=BB) X120",
"goal_id": 1432
},
{
- "goal_text":
- "log.private.log-vernac (log.private.coq.vernac.implicit=
tt X120 [[]])",
+ "goal_text": "log.private.log-vernac (log.private.coq.vern=
ac.implicit tt X120 [[]])",
"goal_id": 1433
}
],
@@ -66892,13 +64561,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -67032,13 +64699,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -67262,13 +64927,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -67287,8 +64950,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -67313,13 +64975,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -67334,8 +64994,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -67367,8 +65026,7 @@
"Inference",
{
"current_goal_id": 1432,
- "current_goal_text":
- "coq.gref->id (const =C2=ABHB_unnamed_factory_27=C2=BB) X120",
+ "current_goal_text": "coq.gref->id (const =C2=ABHB_unnamed_factory=
_27=C2=BB) X120",
"current_goal_predicate": "coq.gref->id",
"failed_attempts": [],
"successful_attempts": [
@@ -67459,13 +65117,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -67599,13 +65255,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -67829,13 +65483,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -67854,8 +65506,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -67880,13 +65531,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -67901,8 +65550,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -68025,13 +65673,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -68165,13 +65811,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -68395,13 +66039,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -68420,8 +66062,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -68446,13 +66087,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -68467,8 +66106,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -68500,8 +66138,7 @@
"Inference",
{
"current_goal_id": 1433,
- "current_goal_text":
- "log.private.log-vernac\n (log.private.coq.vernac.implicit tt HB=
_unnamed_factory_27 [[]])",
+ "current_goal_text": "log.private.log-vernac\n (log.private.coq.ve=
rnac.implicit tt HB_unnamed_factory_27 [[]])",
"current_goal_predicate": "log.private.log-vernac",
"failed_attempts": [],
"successful_attempts": [
@@ -68510,13 +66147,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.private.log-vernac A0) :- (log.private.logger A1=
A2), (!), \n (if (A2 =3D tt) (A3 =3D []) (A3 =3D [get-option coq:pp all]))=
, \n (A3 =3D> log.private.coq.vernac->pp [A0] A4), \n (log.private.logger-e=
xtend A1 A4).",
+ "rule_text": "(log.private.log-vernac A0) :- (log.privat=
e.logger A1 A2), (!), \n (if (A2 =3D tt) (A3 =3D []) (A3 =3D [get-option co=
q:pp all])), \n (A3 =3D> log.private.coq.vernac->pp [A0] A4), \n (log.priva=
te.logger-extend A1 A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
log.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/log.elpi",
"line": 291,
"column": 0,
"character": 11441
@@ -68538,13 +66173,11 @@
},
{ "goal_text": "!", "goal_id": 1436 },
{
- "goal_text":
- "if (X122 =3D tt) (X123 =3D []) (X123 =3D [get-option co=
q:pp all])",
+ "goal_text": "if (X122 =3D tt) (X123 =3D []) (X123 =3D [ge=
t-option coq:pp all])",
"goal_id": 1437
},
{
- "goal_text":
- "X123 =3D>\n log.private.coq.vernac->pp\n [log.private.=
coq.vernac.implicit tt HB_unnamed_factory_27 [[]]] X124",
+ "goal_text": "X123 =3D>\n log.private.coq.vernac->pp\n [l=
og.private.coq.vernac.implicit tt HB_unnamed_factory_27 [[]]] X124",
"goal_id": 1438
},
{
@@ -68561,13 +66194,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.private.log-vernac A0) :- (log.private.logger A1 A=
2), (!), \n (if (A2 =3D tt) (A3 =3D []) (A3 =3D [get-option coq:pp all])), =
\n (A3 =3D> log.private.coq.vernac->pp [A0] A4), \n (log.private.logger-ext=
end A1 A4).",
+ "rule_text": "(log.private.log-vernac A0) :- (log.private.=
logger A1 A2), (!), \n (if (A2 =3D tt) (A3 =3D []) (A3 =3D [get-option coq:=
pp all])), \n (A3 =3D> log.private.coq.vernac->pp [A0] A4), \n (log.private=
.logger-extend A1 A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 291,
"column": 0,
"character": 11441
@@ -68644,13 +66275,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -68784,13 +66413,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -69014,13 +66641,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -69039,8 +66664,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -69065,13 +66689,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -69086,8 +66708,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -69129,13 +66750,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.private.log-vernac A0) :- (log.private.logger A1 A=
2), (!), \n (if (A2 =3D tt) (A3 =3D []) (A3 =3D [get-option coq:pp all])), =
\n (A3 =3D> log.private.coq.vernac->pp [A0] A4), \n (log.private.logger-ext=
end A1 A4).",
+ "rule_text": "(log.private.log-vernac A0) :- (log.private.=
logger A1 A2), (!), \n (if (A2 =3D tt) (A3 =3D []) (A3 =3D [get-option coq:=
pp all])), \n (A3 =3D> log.private.coq.vernac->pp [A0] A4), \n (log.private=
.logger-extend A1 A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 291,
"column": 0,
"character": 11441
@@ -69212,13 +66831,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -69352,13 +66969,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -69582,13 +67197,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -69607,8 +67220,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -69633,13 +67245,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -69654,8 +67264,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -69687,8 +67296,7 @@
"Inference",
{
"current_goal_id": 1433,
- "current_goal_text":
- "log.private.log-vernac\n (log.private.coq.vernac.implicit tt HB=
_unnamed_factory_27 [[]])",
+ "current_goal_text": "log.private.log-vernac\n (log.private.coq.ve=
rnac.implicit tt HB_unnamed_factory_27 [[]])",
"current_goal_predicate": "log.private.log-vernac",
"failed_attempts": [],
"successful_attempts": [
@@ -69701,8 +67309,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
log.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/log.elpi",
"line": 294,
"column": 0,
"character": 11623
@@ -69726,8 +67333,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 294,
"column": 0,
"character": 11623
@@ -69804,13 +67410,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -69944,13 +67548,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -70174,13 +67776,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -70199,8 +67799,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -70225,13 +67824,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -70246,8 +67843,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -70394,13 +67990,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.arguments.set-implicit A0 A1) :- (std.do!\n =
[coq.arguments.set-implicit A0 A1,=
\n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
+ "rule_text": "(log.coq.arguments.set-implicit A0 A1) :- (s=
td.do!\n [coq.arguments.set-impl=
icit A0 A1, \n if\n =
(get-option coq:locality local) \n =
(A2 =3D tt) (A2 =3D ff), \n =
(coq.gref->id A0 A3 ,\n =
log.private.log-vernac\n =
(log.private.coq.vernac.implicit\n =
A2 A3 A1))]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 14,
"column": 0,
"character": 592
@@ -70534,13 +68128,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -70764,13 +68356,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -70789,8 +68379,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -70815,13 +68404,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -70836,8 +68423,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -71041,13 +68627,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(log.coq.env.add-const-noimplicits-failondup A0 A1 A2 A=
3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some information in=
\n A0 :=
A6 \n :=
=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac\n =
(\n =
log.private.coq.vern=
ac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A4) \n =
[[]]]).",
+ "rule_text": "(log.coq.env.add-const-noimplicits-failondup=
A0 A1 A2 A3 A4) :- (std.do!\n =
[if\n =
(\n =
not\n =
(ground_term\n =
A2 ;\n =
ground_term\n =
A1)) \n =
(\n =
,\n =
(coq.term->string\n =
A2 A6) \n =
(coq.term->string\n =
A1 A7) \n =
(coq.error\n =
HB: cannot infer some inf=
ormation in \n =
A0 : A6 \n =
:=3D A7)) \n =
true, \n =
coq.env.add-const\n =
A0 A1 A2 \n =
A3 A4, \n =
log.coq.env.add-location\n =
(\n =
const A4), \n =
if\n =
(\n =
var A2) \n =
(\n =
A5 =3D none) \n =
(\n =
A5 =3D\n =
some A2), \n =
log.private.log-vernac=
\n (\n =
log.priva=
te.coq.vernac.definition\n =
A0 A5 A1), \n =
get-option\n =
coq:locality \n =
local =3D>\n =
log.coq.arguments.set-implicit\n =
(const A=
4) \n [[=
]]]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 59,
"column": 0,
"character": 2355
@@ -71271,13 +68855,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -71296,8 +68878,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -71322,13 +68903,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -71343,8 +68922,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -71382,8 +68960,7 @@
"Inference",
{
"current_goal_id": 1375,
- "current_goal_text":
- "std.do!\n [X87 =3D global (const =C2=ABHB_unnamed_factory_27=C2=
=BB), \n std.drop 0 [global (indt =C2=ABnat=C2=BB)] [X88 | _], \n instanc=
e.private.check-non-forgetful-inheritance X88 \n (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB), \n instance.private.declare-instance (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB) X88 X87 X89 \n X90, \n if\n (arity (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity=
_) true \n (if-verbose (header X91 , coq.say X91 closing instance sectio=
n) ,\n log.coq.env.end-section-name X76), acc-clauses current X89]",
+ "current_goal_text": "std.do!\n [X87 =3D global (const =C2=ABHB_un=
named_factory_27=C2=BB), \n std.drop 0 [global (indt =C2=ABnat=C2=BB)] [X8=
8 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt=
=C2=ABIsSelfA'.axioms_=C2=BB), \n instance.private.declare-instance (indt=
=C2=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \n if\n (arity (app=
[global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)=
]) =3D\n arity _) true \n (if-verbose (header X91 , coq.say X91 closi=
ng instance section) ,\n log.coq.env.end-section-name X76), acc-clauses=
current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -71392,8 +68969,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -71423,8 +68999,7 @@
},
{ "goal_text": "!", "goal_id": 1441 },
{
- "goal_text":
- "std.do!\n [std.drop 0 [global (indt =C2=ABnat=C2=BB)] [=
X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB), \n instance.private.declare-instance (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \n if\n (arity (a=
pp [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB)]) =3D\n arity _) true \n (if-verbose (header X91 , coq.say X91 c=
losing instance section) ,\n log.coq.env.end-section-name X76), acc-cla=
uses current X89]",
+ "goal_text": "std.do!\n [std.drop 0 [global (indt =C2=ABna=
t=C2=BB)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X=
88 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n instance.private.declare-i=
nstance (indt =C2=ABIsSelfA'.axioms_=C2=BB) X88 X87 X89 \n X90, \n if\n =
(arity (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB)]) =3D\n arity _) true \n (if-verbose (header X91 , coq.=
say X91 closing instance section) ,\n log.coq.env.end-section-name X76)=
, acc-clauses current X89]",
"goal_id": 1442
}
],
@@ -71665,13 +69240,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -71690,8 +69263,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -71716,13 +69288,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -71737,8 +69307,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -72026,13 +69595,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -72051,8 +69618,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -72077,13 +69643,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -72098,8 +69662,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -72137,8 +69700,7 @@
"Inference",
{
"current_goal_id": 1442,
- "current_goal_text":
- "std.do!\n [std.drop 0 [global (indt =C2=ABnat=C2=BB)] [X88 | _]=
, \n instance.private.check-non-forgetful-inheritance X88 \n (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), \n instance.private.declare-instance (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) X88 \n (global (const =C2=ABHB_unnamed_factory=
_27=C2=BB)) X89 X90, \n if\n (arity (app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity _) true \n =
(if-verbose (header X91 , coq.say X91 closing instance section) ,\n log=
.coq.env.end-section-name X76), acc-clauses current X89]",
+ "current_goal_text": "std.do!\n [std.drop 0 [global (indt =C2=ABna=
t=C2=BB)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X=
88 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n instance.private.declare-i=
nstance (indt =C2=ABIsSelfA'.axioms_=C2=BB) X88 \n (global (const =C2=ABH=
B_unnamed_factory_27=C2=BB)) X89 X90, \n if\n (arity (app [global (indt =
=C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n ar=
ity _) true \n (if-verbose (header X91 , coq.say X91 closing instance sec=
tion) ,\n log.coq.env.end-section-name X76), acc-clauses current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -72147,8 +69709,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -72178,8 +69739,7 @@
},
{ "goal_text": "!", "goal_id": 1444 },
{
- "goal_text":
- "std.do!\n [instance.private.check-non-forgetful-inherit=
ance X88 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n instance.private.dec=
lare-instance (indt =C2=ABIsSelfA'.axioms_=C2=BB) X88 \n (global (const =
=C2=ABHB_unnamed_factory_27=C2=BB)) X89 X90, \n if\n (arity (app [global=
(indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n=
arity _) true \n (if-verbose (header X91 , coq.say X91 closing insta=
nce section) ,\n log.coq.env.end-section-name X76), acc-clauses current=
X89]",
+ "goal_text": "std.do!\n [instance.private.check-non-forget=
ful-inheritance X88 \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n instance.=
private.declare-instance (indt =C2=ABIsSelfA'.axioms_=C2=BB) X88 \n (glob=
al (const =C2=ABHB_unnamed_factory_27=C2=BB)) X89 X90, \n if\n (arity (a=
pp [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=
=BB)]) =3D\n arity _) true \n (if-verbose (header X91 , coq.say X91 c=
losing instance section) ,\n log.coq.env.end-section-name X76), acc-cla=
uses current X89]",
"goal_id": 1445
}
],
@@ -72439,13 +69999,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -72464,8 +70022,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -72490,13 +70047,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -72511,8 +70066,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -72846,13 +70400,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -72871,8 +70423,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -72897,13 +70448,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -72918,8 +70467,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -72958,8 +70506,7 @@
"goal_id": 1443
},
"cut_branch": {
- "rule_text":
- "(std.drop A0 [_ | A1] A2) :- (!), (A3 is A0 - 1), (std.dr=
op A3 A1 A2).",
+ "rule_text": "(std.drop A0 [_ | A1] A2) :- (!), (A3 is A0 - =
1), (std.drop A3 A1 A2).",
"rule_loc": [
"File",
{
@@ -72977,8 +70524,7 @@
"goal_id": 1443
},
"cut_branch": {
- "rule_text":
- "(std.drop _ _ _) :- (std.fatal-error drop run out of list=
items).",
+ "rule_text": "(std.drop _ _ _) :- (std.fatal-error drop run =
out of list items).",
"rule_loc": [
"File",
{
@@ -73008,8 +70554,7 @@
"Inference",
{
"current_goal_id": 1445,
- "current_goal_text":
- "std.do!\n [instance.private.check-non-forgetful-inheritance (gl=
obal (indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.axioms_=C2=BB), \n =
instance.private.declare-instance (indt =C2=ABIsSelfA'.axioms_=C2=BB) \n =
(global (indt =C2=ABnat=C2=BB)) (global (const =C2=ABHB_unnamed_factory_27=
=C2=BB)) X89 X90, \n if\n (arity (app [global (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity _) true \n (if=
-verbose (header X91 , coq.say X91 closing instance section) ,\n log.co=
q.env.end-section-name X76), acc-clauses current X89]",
+ "current_goal_text": "std.do!\n [instance.private.check-non-forget=
ful-inheritance (global (indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.a=
xioms_=C2=BB), \n instance.private.declare-instance (indt =C2=ABIsSelfA'.a=
xioms_=C2=BB) \n (global (indt =C2=ABnat=C2=BB)) (global (const =C2=ABHB_=
unnamed_factory_27=C2=BB)) X89 X90, \n if\n (arity (app [global (indt =
=C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n ar=
ity _) true \n (if-verbose (header X91 , coq.say X91 closing instance sec=
tion) ,\n log.coq.env.end-section-name X76), acc-clauses current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -73018,8 +70563,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -73044,14 +70588,12 @@
},
"siblings": [
{
- "goal_text":
- "instance.private.check-non-forgetful-inheritance (globa=
l (indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.axioms_=C2=BB)",
+ "goal_text": "instance.private.check-non-forgetful-inherit=
ance (global (indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.axioms_=C2=BB)=
",
"goal_id": 1447
},
{ "goal_text": "!", "goal_id": 1448 },
{
- "goal_text":
- "std.do!\n [instance.private.declare-instance (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) \n (global (indt =C2=ABnat=C2=BB)) (global (co=
nst =C2=ABHB_unnamed_factory_27=C2=BB)) X89 X90, \n if\n (arity (app [gl=
obal (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =
=3D\n arity _) true \n (if-verbose (header X91 , coq.say X91 closing =
instance section) ,\n log.coq.env.end-section-name X76), acc-clauses cu=
rrent X89]",
+ "goal_text": "std.do!\n [instance.private.declare-instance=
(indt =C2=ABIsSelfA'.axioms_=C2=BB) \n (global (indt =C2=ABnat=C2=BB)) (=
global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X89 X90, \n if\n (arit=
y (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=
=C2=BB)]) =3D\n arity _) true \n (if-verbose (header X91 , coq.say X9=
1 closing instance section) ,\n log.coq.env.end-section-name X76), acc-=
clauses current X89]",
"goal_id": 1449
}
],
@@ -73330,13 +70872,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -73355,8 +70895,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -73381,13 +70920,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -73402,8 +70939,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -73435,10 +70971,8 @@
"Inference",
{
"current_goal_id": 1447,
- "current_goal_text":
- "instance.private.check-non-forgetful-inheritance (global (indt =
=C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.axioms_=C2=BB)",
- "current_goal_predicate":
- "instance.private.check-non-forgetful-inheritance",
+ "current_goal_text": "instance.private.check-non-forgetful-inherit=
ance (global (indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.axioms_=C2=BB)=
",
+ "current_goal_predicate": "instance.private.check-non-forgetful-in=
heritance",
"failed_attempts": [],
"successful_attempts": [
{
@@ -73446,13 +70980,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.check-non-forgetful-inheritance _ _=
) :- (get-option\n =
non_forgetful_inheritance \n =
tt), (!).",
+ "rule_text": "(instance.private.check-non-forgetful-inhe=
ritance _ _) :- (get-option\n =
non_forgetful_inheritance \n =
tt), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instanc=
e.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/instance.elpi",
"line": 341,
"column": 0,
"character": 14872
@@ -73478,13 +71010,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.check-non-forgetful-inheritance _ _) =
:- (get-option\n =
non_forgetful_inheritance \n =
tt), (!).",
+ "rule_text": "(instance.private.check-non-forgetful-inheri=
tance _ _) :- (get-option\n =
non_forgetful_inheritance \n =
tt), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 341,
"column": 0,
"character": 14872
@@ -73765,13 +71295,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -73790,8 +71318,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -73816,13 +71343,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -73837,8 +71362,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -73880,13 +71404,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.check-non-forgetful-inheritance _ _) =
:- (get-option\n =
non_forgetful_inheritance \n =
tt), (!).",
+ "rule_text": "(instance.private.check-non-forgetful-inheri=
tance _ _) :- (get-option\n =
non_forgetful_inheritance \n =
tt), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 341,
"column": 0,
"character": 14872
@@ -74167,13 +71689,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -74192,8 +71712,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -74218,13 +71737,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -74239,8 +71756,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -74272,10 +71788,8 @@
"Inference",
{
"current_goal_id": 1447,
- "current_goal_text":
- "instance.private.check-non-forgetful-inheritance (global (indt =
=C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.axioms_=C2=BB)",
- "current_goal_predicate":
- "instance.private.check-non-forgetful-inheritance",
+ "current_goal_text": "instance.private.check-non-forgetful-inherit=
ance (global (indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.axioms_=C2=BB)=
",
+ "current_goal_predicate": "instance.private.check-non-forgetful-in=
heritance",
"failed_attempts": [],
"successful_attempts": [
{
@@ -74283,13 +71797,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.check-non-forgetful-inheritance A0 =
A1) :- (std.do!\n =
[if\n (c=
oq.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance \n =
non forgetful=
inheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorganize your h=
ierarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent type theor=
y\" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the attribute #[=
non_forgetful_inheritance] to disable this check. \n =
We strongly advise you encapsu=
late this instance inside a module, \n =
in order to isolate it from the rest of the =
code, and to be able \n =
to import it on demand. See the above paper and the file \n=
https:/=
/github.com/math-comp/hierarchy-builder/blob/master/tests/non-forgetful-inh=
eritance.v \n =
to witness devastating effects.)) \n =
true]).",
+ "rule_text": "(instance.private.check-non-forgetful-inhe=
ritance A0 A1) :- (std.do!\n =
[if\n =
(coq.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritan=
ce \n no=
n forgetful inheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorga=
nize your hierarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent=
type theory\" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the a=
ttribute #[non_forgetful_inheritance] to disable this check. \n =
We strongly advise =
you encapsulate this instance inside a module, \n =
in order to isolate it from the r=
est of the code, and to be able \n =
to import it on demand. See the above paper and =
the file \n =
https://github.com/math-comp/hierarchy-builder/blob/master/tests/non-fo=
rgetful-inheritance.v \n =
to witness devastating effects.)) \n =
true]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instanc=
e.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/instance.elpi",
"line": 343,
"column": 0,
"character": 14959
@@ -74304,8 +71816,7 @@
},
"siblings": [
{
- "goal_text":
- "std.do!\n [if\n (coq.safe-dest-app (global (indt =C2=
=ABnat=C2=BB)) (global (const X125)) _ ,\n structure-key X125 _ X126) \=
n (, (nice-gref->string (indt =C2=ABIsSelfA'.axioms_=C2=BB) X127) \n =
(nice-gref->string X126 X128 , calc (X128 ^ .) X129) \n (coq.warning HB=
HB.non-forgetful-inheritance \n non forgetful inheritance detected.\=
n You have two solutions: \n 1. (Best practice) Reorganize your hiera=
rchy to make X127 depend on \n X129 See the paper \"Competing inherit=
ance paths in \n dependent type theory\" (https://hal.inria.fr/hal-02=
463336) for more \n explanations \n 2. Use the attribute #[non_=
forgetful_inheritance] to disable this check. \n We strongly advise y=
ou encapsulate this instance inside a module, \n in order to isolate =
it from the rest of the code, and to be able \n to import it on deman=
d. See the above paper and the file \n https://github.com/math-comp/h=
ierarchy-builder/blob/master/tests/non-forgetful-inheritance.v \n to =
witness devastating effects.)) true]",
+ "goal_text": "std.do!\n [if\n (coq.safe-dest-app (global=
(indt =C2=ABnat=C2=BB)) (global (const X125)) _ ,\n structure-key X125=
_ X126) \n (, (nice-gref->string (indt =C2=ABIsSelfA'.axioms_=C2=BB) X12=
7) \n (nice-gref->string X126 X128 , calc (X128 ^ .) X129) \n (coq.=
warning HB HB.non-forgetful-inheritance \n non forgetful inheritance =
detected.\n You have two solutions: \n 1. (Best practice) Reorganize =
your hierarchy to make X127 depend on \n X129 See the paper \"Competi=
ng inheritance paths in \n dependent type theory\" (https://hal.inria=
.fr/hal-02463336) for more \n explanations \n 2. Use the attrib=
ute #[non_forgetful_inheritance] to disable this check. \n We strongl=
y advise you encapsulate this instance inside a module, \n in order t=
o isolate it from the rest of the code, and to be able \n to import i=
t on demand. See the above paper and the file \n https://github.com/m=
ath-comp/hierarchy-builder/blob/master/tests/non-forgetful-inheritance.v \n=
to witness devastating effects.)) true]",
"goal_id": 1452
}
],
@@ -74318,13 +71829,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.check-non-forgetful-inheritance A0 A1=
) :- (std.do!\n =
[if\n (coq=
.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance \n =
non forgetful i=
nheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorganize your hie=
rarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent type theory\=
" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the attribute #[no=
n_forgetful_inheritance] to disable this check. \n =
We strongly advise you encapsula=
te this instance inside a module, \n =
in order to isolate it from the rest of the co=
de, and to be able \n =
to import it on demand. See the above paper and the file \n =
https://g=
ithub.com/math-comp/hierarchy-builder/blob/master/tests/non-forgetful-inher=
itance.v \n =
to witness devastating effects.)) \n =
true]).",
+ "rule_text": "(instance.private.check-non-forgetful-inheri=
tance A0 A1) :- (std.do!\n =
[if\n =
(coq.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance=
\n non =
forgetful inheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorgani=
ze your hierarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent t=
ype theory\" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the att=
ribute #[non_forgetful_inheritance] to disable this check. \n =
We strongly advise yo=
u encapsulate this instance inside a module, \n =
in order to isolate it from the res=
t of the code, and to be able \n =
to import it on demand. See the above paper and th=
e file \n =
https://github.com/math-comp/hierarchy-builder/blob/master/tests/non-forg=
etful-inheritance.v \n =
to witness devastating effects.)) \n =
true]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 343,
"column": 0,
"character": 14959
@@ -74605,13 +72114,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -74630,8 +72137,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -74656,13 +72162,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -74677,8 +72181,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -74710,8 +72213,7 @@
"Inference",
{
"current_goal_id": 1452,
- "current_goal_text":
- "std.do!\n [if\n (coq.safe-dest-app (global (indt =C2=ABnat=C2=
=BB)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (n=
ice-gref->string (indt =C2=ABIsSelfA'.axioms_=C2=BB) X127) \n (nice-gre=
f->string X126 X128 , calc (X128 ^ .) X129) \n (coq.warning HB HB.non-f=
orgetful-inheritance \n non forgetful inheritance detected.\n You hav=
e two solutions: \n 1. (Best practice) Reorganize your hierarchy to m=
ake X127 depend on \n X129 See the paper \"Competing inheritance path=
s in \n dependent type theory\" (https://hal.inria.fr/hal-02463336) f=
or more \n explanations \n 2. Use the attribute #[non_forgetful=
_inheritance] to disable this check. \n We strongly advise you encaps=
ulate this instance inside a module, \n in order to isolate it from t=
he rest of the code, and to be able \n to import it on demand. See th=
e above paper and the file \n https://github.com/math-comp/hierarchy-=
builder/blob/master/tests/non-forgetful-inheritance.v \n to witness d=
evastating effects.)) true]",
+ "current_goal_text": "std.do!\n [if\n (coq.safe-dest-app (global=
(indt =C2=ABnat=C2=BB)) (global (const X125)) _ ,\n structure-key X125=
_ X126) \n (, (nice-gref->string (indt =C2=ABIsSelfA'.axioms_=C2=BB) X12=
7) \n (nice-gref->string X126 X128 , calc (X128 ^ .) X129) \n (coq.=
warning HB HB.non-forgetful-inheritance \n non forgetful inheritance =
detected.\n You have two solutions: \n 1. (Best practice) Reorganize =
your hierarchy to make X127 depend on \n X129 See the paper \"Competi=
ng inheritance paths in \n dependent type theory\" (https://hal.inria=
.fr/hal-02463336) for more \n explanations \n 2. Use the attrib=
ute #[non_forgetful_inheritance] to disable this check. \n We strongl=
y advise you encapsulate this instance inside a module, \n in order t=
o isolate it from the rest of the code, and to be able \n to import i=
t on demand. See the above paper and the file \n https://github.com/m=
ath-comp/hierarchy-builder/blob/master/tests/non-forgetful-inheritance.v \n=
to witness devastating effects.)) true]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -74720,8 +72222,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -74743,8 +72244,7 @@
},
"siblings": [
{
- "goal_text":
- "if\n (coq.safe-dest-app (global (indt =C2=ABnat=C2=BB))=
(global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref-=
>string (indt =C2=ABIsSelfA'.axioms_=C2=BB) X127) \n (nice-gref->string X=
126 X128 , calc (X128 ^ .) X129) \n (coq.warning HB HB.non-forgetful-inhe=
ritance \n non forgetful inheritance detected.\n You have two solutions=
: \n 1. (Best practice) Reorganize your hierarchy to make X127 depend o=
n \n X129 See the paper \"Competing inheritance paths in \n depende=
nt type theory\" (https://hal.inria.fr/hal-02463336) for more \n explan=
ations \n 2. Use the attribute #[non_forgetful_inheritance] to disable =
this check. \n We strongly advise you encapsulate this instance inside =
a module, \n in order to isolate it from the rest of the code, and to b=
e able \n to import it on demand. See the above paper and the file \n =
https://github.com/math-comp/hierarchy-builder/blob/master/tests/non-for=
getful-inheritance.v \n to witness devastating effects.)) true",
+ "goal_text": "if\n (coq.safe-dest-app (global (indt =C2=AB=
nat=C2=BB)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, =
(nice-gref->string (indt =C2=ABIsSelfA'.axioms_=C2=BB) X127) \n (nice-gre=
f->string X126 X128 , calc (X128 ^ .) X129) \n (coq.warning HB HB.non-for=
getful-inheritance \n non forgetful inheritance detected.\n You have tw=
o solutions: \n 1. (Best practice) Reorganize your hierarchy to make X1=
27 depend on \n X129 See the paper \"Competing inheritance paths in \n =
dependent type theory\" (https://hal.inria.fr/hal-02463336) for more \n=
explanations \n 2. Use the attribute #[non_forgetful_inheritance] =
to disable this check. \n We strongly advise you encapsulate this insta=
nce inside a module, \n in order to isolate it from the rest of the cod=
e, and to be able \n to import it on demand. See the above paper and th=
e file \n https://github.com/math-comp/hierarchy-builder/blob/master/te=
sts/non-forgetful-inheritance.v \n to witness devastating effects.)) tr=
ue",
"goal_id": 1453
},
{ "goal_text": "!", "goal_id": 1454 },
@@ -74778,13 +72278,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.check-non-forgetful-inheritance A0 A1=
) :- (std.do!\n =
[if\n (coq=
.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance \n =
non forgetful i=
nheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorganize your hie=
rarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent type theory\=
" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the attribute #[no=
n_forgetful_inheritance] to disable this check. \n =
We strongly advise you encapsula=
te this instance inside a module, \n =
in order to isolate it from the rest of the co=
de, and to be able \n =
to import it on demand. See the above paper and the file \n =
https://g=
ithub.com/math-comp/hierarchy-builder/blob/master/tests/non-forgetful-inher=
itance.v \n =
to witness devastating effects.)) \n =
true]).",
+ "rule_text": "(instance.private.check-non-forgetful-inheri=
tance A0 A1) :- (std.do!\n =
[if\n =
(coq.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance=
\n non =
forgetful inheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorgani=
ze your hierarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent t=
ype theory\" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the att=
ribute #[non_forgetful_inheritance] to disable this check. \n =
We strongly advise yo=
u encapsulate this instance inside a module, \n =
in order to isolate it from the res=
t of the code, and to be able \n =
to import it on demand. See the above paper and th=
e file \n =
https://github.com/math-comp/hierarchy-builder/blob/master/tests/non-forg=
etful-inheritance.v \n =
to witness devastating effects.)) \n =
true]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 343,
"column": 0,
"character": 14959
@@ -75065,13 +72563,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -75090,8 +72586,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -75116,13 +72611,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -75137,8 +72630,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -75170,8 +72662,7 @@
"Inference",
{
"current_goal_id": 1453,
- "current_goal_text":
- "if\n (coq.safe-dest-app (global (indt =C2=ABnat=C2=BB)) (global=
(const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string =
(indt =C2=ABIsSelfA'.axioms_=C2=BB) X127) \n (nice-gref->string X126 X128=
, calc (X128 ^ .) X129) \n (coq.warning HB HB.non-forgetful-inheritance =
\n non forgetful inheritance detected.\n You have two solutions: \n =
1. (Best practice) Reorganize your hierarchy to make X127 depend on \n =
X129 See the paper \"Competing inheritance paths in \n dependent type =
theory\" (https://hal.inria.fr/hal-02463336) for more \n explanations \=
n 2. Use the attribute #[non_forgetful_inheritance] to disable this che=
ck. \n We strongly advise you encapsulate this instance inside a module=
, \n in order to isolate it from the rest of the code, and to be able \=
n to import it on demand. See the above paper and the file \n https=
://github.com/math-comp/hierarchy-builder/blob/master/tests/non-forgetful-i=
nheritance.v \n to witness devastating effects.)) true",
+ "current_goal_text": "if\n (coq.safe-dest-app (global (indt =C2=AB=
nat=C2=BB)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, =
(nice-gref->string (indt =C2=ABIsSelfA'.axioms_=C2=BB) X127) \n (nice-gre=
f->string X126 X128 , calc (X128 ^ .) X129) \n (coq.warning HB HB.non-for=
getful-inheritance \n non forgetful inheritance detected.\n You have tw=
o solutions: \n 1. (Best practice) Reorganize your hierarchy to make X1=
27 depend on \n X129 See the paper \"Competing inheritance paths in \n =
dependent type theory\" (https://hal.inria.fr/hal-02463336) for more \n=
explanations \n 2. Use the attribute #[non_forgetful_inheritance] =
to disable this check. \n We strongly advise you encapsulate this insta=
nce inside a module, \n in order to isolate it from the rest of the cod=
e, and to be able \n to import it on demand. See the above paper and th=
e file \n https://github.com/math-comp/hierarchy-builder/blob/master/te=
sts/non-forgetful-inheritance.v \n to witness devastating effects.)) tr=
ue",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -75205,14 +72696,12 @@
},
"siblings": [
{
- "goal_text":
- "coq.safe-dest-app (global (indt =C2=ABnat=C2=BB)) (glob=
al (const X125)) _ ,\n structure-key X125 _ X126",
+ "goal_text": "coq.safe-dest-app (global (indt =C2=ABnat=C2=
=BB)) (global (const X125)) _ ,\n structure-key X125 _ X126",
"goal_id": 1456
},
{ "goal_text": "!", "goal_id": 1457 },
{
- "goal_text":
- ", (nice-gref->string (indt =C2=ABIsSelfA'.axioms_=C2=BB=
) X127) \n (nice-gref->string X126 X128 , calc (X128 ^ .) X129) \n (coq.war=
ning HB HB.non-forgetful-inheritance \n non forgetful inheritance detecte=
d.\n You have two solutions: \n 1. (Best practice) Reorganize your hierar=
chy to make X127 depend on X129 \n See the paper \"Competing inheritance =
paths in \n dependent type theory\" (https://hal.inria.fr/hal-02463336) f=
or more \n explanations \n 2. Use the attribute #[non_forgetful_inherit=
ance] to disable this check. \n We strongly advise you encapsulate this i=
nstance inside a module, \n in order to isolate it from the rest of the c=
ode, and to be able \n to import it on demand. See the above paper and th=
e file \n https://github.com/math-comp/hierarchy-builder/blob/master/test=
s/non-forgetful-inheritance.v \n to witness devastating effects.)",
+ "goal_text": ", (nice-gref->string (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) X127) \n (nice-gref->string X126 X128 , calc (X128 ^ .) X129) =
\n (coq.warning HB HB.non-forgetful-inheritance \n non forgetful inherita=
nce detected.\n You have two solutions: \n 1. (Best practice) Reorganize =
your hierarchy to make X127 depend on X129 \n See the paper \"Competing i=
nheritance paths in \n dependent type theory\" (https://hal.inria.fr/hal-=
02463336) for more \n explanations \n 2. Use the attribute #[non_forget=
ful_inheritance] to disable this check. \n We strongly advise you encapsu=
late this instance inside a module, \n in order to isolate it from the re=
st of the code, and to be able \n to import it on demand. See the above p=
aper and the file \n https://github.com/math-comp/hierarchy-builder/blob/=
master/tests/non-forgetful-inheritance.v \n to witness devastating effect=
s.)",
"goal_id": 1458
}
],
@@ -75263,13 +72752,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.check-non-forgetful-inheritance A0 A1=
) :- (std.do!\n =
[if\n (coq=
.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance \n =
non forgetful i=
nheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorganize your hie=
rarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent type theory\=
" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the attribute #[no=
n_forgetful_inheritance] to disable this check. \n =
We strongly advise you encapsula=
te this instance inside a module, \n =
in order to isolate it from the rest of the co=
de, and to be able \n =
to import it on demand. See the above paper and the file \n =
https://g=
ithub.com/math-comp/hierarchy-builder/blob/master/tests/non-forgetful-inher=
itance.v \n =
to witness devastating effects.)) \n =
true]).",
+ "rule_text": "(instance.private.check-non-forgetful-inheri=
tance A0 A1) :- (std.do!\n =
[if\n =
(coq.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance=
\n non =
forgetful inheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorgani=
ze your hierarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent t=
ype theory\" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the att=
ribute #[non_forgetful_inheritance] to disable this check. \n =
We strongly advise yo=
u encapsulate this instance inside a module, \n =
in order to isolate it from the res=
t of the code, and to be able \n =
to import it on demand. See the above paper and th=
e file \n =
https://github.com/math-comp/hierarchy-builder/blob/master/tests/non-forg=
etful-inheritance.v \n =
to witness devastating effects.)) \n =
true]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 343,
"column": 0,
"character": 14959
@@ -75550,13 +73037,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -75575,8 +73060,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -75601,13 +73085,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -75622,8 +73104,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -75655,8 +73136,7 @@
"Inference",
{
"current_goal_id": 1456,
- "current_goal_text":
- "coq.safe-dest-app (global (indt =C2=ABnat=C2=BB)) (global (cons=
t X125)) _ ,\n structure-key X125 _ X126",
+ "current_goal_text": "coq.safe-dest-app (global (indt =C2=ABnat=C2=
=BB)) (global (const X125)) _ ,\n structure-key X125 _ X126",
"current_goal_predicate": ",",
"failed_attempts": [],
"successful_attempts": [
@@ -75667,8 +73147,7 @@
},
"siblings": [
{
- "goal_text":
- "coq.safe-dest-app (global (indt =C2=ABnat=C2=BB)) (glob=
al (const X125)) _",
+ "goal_text": "coq.safe-dest-app (global (indt =C2=ABnat=C2=
=BB)) (global (const X125)) _",
"goal_id": 1459
},
{ "goal_text": "structure-key X125 _ X126", "goal_id": 1460 }
@@ -75725,13 +73204,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.check-non-forgetful-inheritance A0 A1=
) :- (std.do!\n =
[if\n (coq=
.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance \n =
non forgetful i=
nheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorganize your hie=
rarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent type theory\=
" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the attribute #[no=
n_forgetful_inheritance] to disable this check. \n =
We strongly advise you encapsula=
te this instance inside a module, \n =
in order to isolate it from the rest of the co=
de, and to be able \n =
to import it on demand. See the above paper and the file \n =
https://g=
ithub.com/math-comp/hierarchy-builder/blob/master/tests/non-forgetful-inher=
itance.v \n =
to witness devastating effects.)) \n =
true]).",
+ "rule_text": "(instance.private.check-non-forgetful-inheri=
tance A0 A1) :- (std.do!\n =
[if\n =
(coq.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance=
\n non =
forgetful inheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorgani=
ze your hierarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent t=
ype theory\" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the att=
ribute #[non_forgetful_inheritance] to disable this check. \n =
We strongly advise yo=
u encapsulate this instance inside a module, \n =
in order to isolate it from the res=
t of the code, and to be able \n =
to import it on demand. See the above paper and th=
e file \n =
https://github.com/math-comp/hierarchy-builder/blob/master/tests/non-forg=
etful-inheritance.v \n =
to witness devastating effects.)) \n =
true]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 343,
"column": 0,
"character": 14959
@@ -76012,13 +73489,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -76037,8 +73512,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -76063,13 +73537,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -76084,8 +73556,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -76117,8 +73588,7 @@
"Inference",
{
"current_goal_id": 1459,
- "current_goal_text":
- "coq.safe-dest-app (global (indt =C2=ABnat=C2=BB)) (global (cons=
t X125)) _",
+ "current_goal_text": "coq.safe-dest-app (global (indt =C2=ABnat=C2=
=BB)) (global (const X125)) _",
"current_goal_predicate": "coq.safe-dest-app",
"failed_attempts": [
{
@@ -76215,13 +73685,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.check-non-forgetful-inheritance A0 A1=
) :- (std.do!\n =
[if\n (coq=
.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance \n =
non forgetful i=
nheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorganize your hie=
rarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent type theory\=
" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the attribute #[no=
n_forgetful_inheritance] to disable this check. \n =
We strongly advise you encapsula=
te this instance inside a module, \n =
in order to isolate it from the rest of the co=
de, and to be able \n =
to import it on demand. See the above paper and the file \n =
https://g=
ithub.com/math-comp/hierarchy-builder/blob/master/tests/non-forgetful-inher=
itance.v \n =
to witness devastating effects.)) \n =
true]).",
+ "rule_text": "(instance.private.check-non-forgetful-inheri=
tance A0 A1) :- (std.do!\n =
[if\n =
(coq.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance=
\n non =
forgetful inheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorgani=
ze your hierarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent t=
ype theory\" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the att=
ribute #[non_forgetful_inheritance] to disable this check. \n =
We strongly advise yo=
u encapsulate this instance inside a module, \n =
in order to isolate it from the res=
t of the code, and to be able \n =
to import it on demand. See the above paper and th=
e file \n =
https://github.com/math-comp/hierarchy-builder/blob/master/tests/non-forg=
etful-inheritance.v \n =
to witness devastating effects.)) \n =
true]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 343,
"column": 0,
"character": 14959
@@ -76502,13 +73970,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -76527,8 +73993,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -76553,13 +74018,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -76574,8 +74037,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -76607,8 +74069,7 @@
"Inference",
{
"current_goal_id": 1453,
- "current_goal_text":
- "if\n (coq.safe-dest-app (global (indt =C2=ABnat=C2=BB)) (global=
(const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string =
(indt =C2=ABIsSelfA'.axioms_=C2=BB) X127) \n (nice-gref->string X126 X128=
, calc (X128 ^ .) X129) \n (coq.warning HB HB.non-forgetful-inheritance =
\n non forgetful inheritance detected.\n You have two solutions: \n =
1. (Best practice) Reorganize your hierarchy to make X127 depend on \n =
X129 See the paper \"Competing inheritance paths in \n dependent type =
theory\" (https://hal.inria.fr/hal-02463336) for more \n explanations \=
n 2. Use the attribute #[non_forgetful_inheritance] to disable this che=
ck. \n We strongly advise you encapsulate this instance inside a module=
, \n in order to isolate it from the rest of the code, and to be able \=
n to import it on demand. See the above paper and the file \n https=
://github.com/math-comp/hierarchy-builder/blob/master/tests/non-forgetful-i=
nheritance.v \n to witness devastating effects.)) true",
+ "current_goal_text": "if\n (coq.safe-dest-app (global (indt =C2=AB=
nat=C2=BB)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, =
(nice-gref->string (indt =C2=ABIsSelfA'.axioms_=C2=BB) X127) \n (nice-gre=
f->string X126 X128 , calc (X128 ^ .) X129) \n (coq.warning HB HB.non-for=
getful-inheritance \n non forgetful inheritance detected.\n You have tw=
o solutions: \n 1. (Best practice) Reorganize your hierarchy to make X1=
27 depend on \n X129 See the paper \"Competing inheritance paths in \n =
dependent type theory\" (https://hal.inria.fr/hal-02463336) for more \n=
explanations \n 2. Use the attribute #[non_forgetful_inheritance] =
to disable this check. \n We strongly advise you encapsulate this insta=
nce inside a module, \n in order to isolate it from the rest of the cod=
e, and to be able \n to import it on demand. See the above paper and th=
e file \n https://github.com/math-comp/hierarchy-builder/blob/master/te=
sts/non-forgetful-inheritance.v \n to witness devastating effects.)) tr=
ue",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -76679,13 +74140,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.check-non-forgetful-inheritance A0 A1=
) :- (std.do!\n =
[if\n (coq=
.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance \n =
non forgetful i=
nheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorganize your hie=
rarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent type theory\=
" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the attribute #[no=
n_forgetful_inheritance] to disable this check. \n =
We strongly advise you encapsula=
te this instance inside a module, \n =
in order to isolate it from the rest of the co=
de, and to be able \n =
to import it on demand. See the above paper and the file \n =
https://g=
ithub.com/math-comp/hierarchy-builder/blob/master/tests/non-forgetful-inher=
itance.v \n =
to witness devastating effects.)) \n =
true]).",
+ "rule_text": "(instance.private.check-non-forgetful-inheri=
tance A0 A1) :- (std.do!\n =
[if\n =
(coq.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance=
\n non =
forgetful inheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorgani=
ze your hierarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent t=
ype theory\" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the att=
ribute #[non_forgetful_inheritance] to disable this check. \n =
We strongly advise yo=
u encapsulate this instance inside a module, \n =
in order to isolate it from the res=
t of the code, and to be able \n =
to import it on demand. See the above paper and th=
e file \n =
https://github.com/math-comp/hierarchy-builder/blob/master/tests/non-forg=
etful-inheritance.v \n =
to witness devastating effects.)) \n =
true]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 343,
"column": 0,
"character": 14959
@@ -76966,13 +74425,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -76991,8 +74448,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -77017,13 +74473,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -77038,8 +74492,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -77161,13 +74614,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.check-non-forgetful-inheritance A0 A1=
) :- (std.do!\n =
[if\n (coq=
.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance \n =
non forgetful i=
nheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorganize your hie=
rarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent type theory\=
" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the attribute #[no=
n_forgetful_inheritance] to disable this check. \n =
We strongly advise you encapsula=
te this instance inside a module, \n =
in order to isolate it from the rest of the co=
de, and to be able \n =
to import it on demand. See the above paper and the file \n =
https://g=
ithub.com/math-comp/hierarchy-builder/blob/master/tests/non-forgetful-inher=
itance.v \n =
to witness devastating effects.)) \n =
true]).",
+ "rule_text": "(instance.private.check-non-forgetful-inheri=
tance A0 A1) :- (std.do!\n =
[if\n =
(coq.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance=
\n non =
forgetful inheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorgani=
ze your hierarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent t=
ype theory\" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the att=
ribute #[non_forgetful_inheritance] to disable this check. \n =
We strongly advise yo=
u encapsulate this instance inside a module, \n =
in order to isolate it from the res=
t of the code, and to be able \n =
to import it on demand. See the above paper and th=
e file \n =
https://github.com/math-comp/hierarchy-builder/blob/master/tests/non-forg=
etful-inheritance.v \n =
to witness devastating effects.)) \n =
true]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 343,
"column": 0,
"character": 14959
@@ -77448,13 +74899,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -77473,8 +74922,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -77499,13 +74947,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -77520,8 +74966,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -77630,13 +75075,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.check-non-forgetful-inheritance A0 A1=
) :- (std.do!\n =
[if\n (coq=
.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance \n =
non forgetful i=
nheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorganize your hie=
rarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent type theory\=
" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the attribute #[no=
n_forgetful_inheritance] to disable this check. \n =
We strongly advise you encapsula=
te this instance inside a module, \n =
in order to isolate it from the rest of the co=
de, and to be able \n =
to import it on demand. See the above paper and the file \n =
https://g=
ithub.com/math-comp/hierarchy-builder/blob/master/tests/non-forgetful-inher=
itance.v \n =
to witness devastating effects.)) \n =
true]).",
+ "rule_text": "(instance.private.check-non-forgetful-inheri=
tance A0 A1) :- (std.do!\n =
[if\n =
(coq.safe-dest-app\n =
A0 \n =
(global\n =
(\n =
const A2)) \n =
_ ,\n =
structure-key\n =
A2 _ A3) \n =
(,\n =
(nice-gref->string\n =
A1 A4) \n =
(nice-gref->string\n =
A3 A5 ,\n =
calc\n =
(A5 ^ .) \n =
A6) \n =
(coq.warning\n =
HB \n =
HB.non-forgetful-inheritance=
\n non =
forgetful inheritance detected.\n \n =
You have two solutions: \n =
1. (Best practice) Reorgani=
ze your hierarchy to make \n =
A4 \n =
depend on \n =
A6 \n =
See the paper \"Competing inheritance paths in \n =
dependent t=
ype theory\" (https://hal.inria.fr/hal-02463336) for more \n =
explanations \n =
2. Use the att=
ribute #[non_forgetful_inheritance] to disable this check. \n =
We strongly advise yo=
u encapsulate this instance inside a module, \n =
in order to isolate it from the res=
t of the code, and to be able \n =
to import it on demand. See the above paper and th=
e file \n =
https://github.com/math-comp/hierarchy-builder/blob/master/tests/non-forg=
etful-inheritance.v \n =
to witness devastating effects.)) \n =
true]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 343,
"column": 0,
"character": 14959
@@ -77917,13 +75360,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -77942,8 +75383,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -77968,13 +75408,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -77989,8 +75427,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -78028,8 +75465,7 @@
"Inference",
{
"current_goal_id": 1449,
- "current_goal_text":
- "std.do!\n [instance.private.declare-instance (indt =C2=ABIsSelf=
A'.axioms_=C2=BB) \n (global (indt =C2=ABnat=C2=BB)) (global (const =C2=
=ABHB_unnamed_factory_27=C2=BB)) X89 X90, \n if\n (arity (app [global (i=
ndt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n =
arity _) true \n (if-verbose (header X91 , coq.say X91 closing instance=
section) ,\n log.coq.env.end-section-name X76), acc-clauses current X8=
9]",
+ "current_goal_text": "std.do!\n [instance.private.declare-instance=
(indt =C2=ABIsSelfA'.axioms_=C2=BB) \n (global (indt =C2=ABnat=C2=BB)) (=
global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X89 X90, \n if\n (arit=
y (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=
=C2=BB)]) =3D\n arity _) true \n (if-verbose (header X91 , coq.say X9=
1 closing instance section) ,\n log.coq.env.end-section-name X76), acc-=
clauses current X89]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -78038,8 +75474,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -78064,14 +75499,12 @@
},
"siblings": [
{
- "goal_text":
- "instance.private.declare-instance (indt =C2=ABIsSelfA'.=
axioms_=C2=BB) \n (global (indt =C2=ABnat=C2=BB)) (global (const =C2=ABHB_u=
nnamed_factory_27=C2=BB)) X89 X90",
+ "goal_text": "instance.private.declare-instance (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) \n (global (indt =C2=ABnat=C2=BB)) (global (cons=
t =C2=ABHB_unnamed_factory_27=C2=BB)) X89 X90",
"goal_id": 1462
},
{ "goal_text": "!", "goal_id": 1463 },
{
- "goal_text":
- "std.do!\n [if\n (arity (app [global (indt =C2=ABIsSel=
fA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n arity _) true=
\n (if-verbose (header X91 , coq.say X91 closing instance section) ,\n =
log.coq.env.end-section-name X76), acc-clauses current X89]",
+ "goal_text": "std.do!\n [if\n (arity (app [global (indt =
=C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =3D\n ar=
ity _) true \n (if-verbose (header X91 , coq.say X91 closing instance sec=
tion) ,\n log.coq.env.end-section-name X76), acc-clauses current X89]",
"goal_id": 1464
}
],
@@ -78369,13 +75802,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -78394,8 +75825,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -78420,13 +75850,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -78441,8 +75869,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -78474,8 +75901,7 @@
"Inference",
{
"current_goal_id": 1462,
- "current_goal_text":
- "instance.private.declare-instance (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) \n (global (indt =C2=ABnat=C2=BB)) (global (const =C2=ABHB_unnamed_=
factory_27=C2=BB)) X89 X90",
+ "current_goal_text": "instance.private.declare-instance (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) \n (global (indt =C2=ABnat=C2=BB)) (global (cons=
t =C2=ABHB_unnamed_factory_27=C2=BB)) X89 X90",
"current_goal_predicate": "instance.private.declare-instance",
"failed_attempts": [],
"successful_attempts": [
@@ -78484,13 +75910,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :-=
(current-mode\n (bu=
ilder-from A1 A5 \n =
A6 _)), (!), \n (if (get-option local tt) \n (coq.error\n HB: decla=
re-instance: cannot make builders local.\n If you want temporary instanc=
es, make an alias, e.g. with let T' :=3D T) \n true), (!), \n (instance.p=
rivate.declare-canonical-instances-from-factory-and-local-builders\n A0 A=
1 A2 A5 A6 A3 A4).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A=
2 A3 A4) :- (current-mode\n =
(builder-from A1 A5 \n =
A6 _)), (!), \n (if (get-option local tt) \n (coq.error\n =
HB: declare-instance: cannot make builders local.\n If you want tempor=
ary instances, make an alias, e.g. with let T' :=3D T) \n true), (!), \n =
(instance.private.declare-canonical-instances-from-factory-and-local-builde=
rs\n A0 A1 A2 A5 A6 A3 A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instanc=
e.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/instance.elpi",
"line": 188,
"column": 0,
"character": 8025
@@ -78510,20 +75934,17 @@
},
"siblings": [
{
- "goal_text":
- "current-mode (builder-from (global (indt =C2=ABnat=C2=
=BB)) X130 X131 _)",
+ "goal_text": "current-mode (builder-from (global (indt =C2=
=ABnat=C2=BB)) X130 X131 _)",
"goal_id": 1465
},
{ "goal_text": "!", "goal_id": 1466 },
{
- "goal_text":
- "if (get-option local tt) \n (coq.error\n HB: declare-=
instance: cannot make builders local.\n If you want temporary instances,=
make an alias, e.g. with let T' :=3D T) \n true",
+ "goal_text": "if (get-option local tt) \n (coq.error\n H=
B: declare-instance: cannot make builders local.\n If you want temporary=
instances, make an alias, e.g. with let T' :=3D T) \n true",
"goal_id": 1467
},
{ "goal_text": "!", "goal_id": 1468 },
{
- "goal_text":
- "instance.private.declare-canonical-instances-from-facto=
ry-and-local-builders\n (indt =C2=ABIsSelfA'.axioms_=C2=BB) (global (indt =
=C2=ABnat=C2=BB)) \n (global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X13=
0 X131 X89 X90",
+ "goal_text": "instance.private.declare-canonical-instances=
-from-factory-and-local-builders\n (indt =C2=ABIsSelfA'.axioms_=C2=BB) (glo=
bal (indt =C2=ABnat=C2=BB)) \n (global (const =C2=ABHB_unnamed_factory_27=
=C2=BB)) X130 X131 X89 X90",
"goal_id": 1469
}
],
@@ -78536,13 +75957,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
current-mode\n (buil=
der-from A1 A5 \n =
A6 _)), (!), \n (if (get-option local tt) \n (coq.error\n HB: declare=
-instance: cannot make builders local.\n If you want temporary instances=
, make an alias, e.g. with let T' :=3D T) \n true), (!), \n (instance.pri=
vate.declare-canonical-instances-from-factory-and-local-builders\n A0 A1 =
A2 A5 A6 A3 A4).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (current-mode\n =
(builder-from A1 A5 \n =
A6 _)), (!), \n (if (get-option local tt) \n (coq.error\n =
HB: declare-instance: cannot make builders local.\n If you want temporar=
y instances, make an alias, e.g. with let T' :=3D T) \n true), (!), \n (i=
nstance.private.declare-canonical-instances-from-factory-and-local-builders=
\n A0 A1 A2 A5 A6 A3 A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 188,
"column": 0,
"character": 8025
@@ -78842,13 +76261,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -78867,8 +76284,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -78893,13 +76309,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -78914,8 +76328,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -78947,8 +76360,7 @@
"Inference",
{
"current_goal_id": 1465,
- "current_goal_text":
- "current-mode (builder-from (global (indt =C2=ABnat=C2=BB)) X130=
X131 _)",
+ "current_goal_text": "current-mode (builder-from (global (indt =C2=
=ABnat=C2=BB)) X130 X131 _)",
"current_goal_predicate": "current-mode",
"failed_attempts": [],
"successful_attempts": [],
@@ -78958,13 +76370,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
current-mode\n (buil=
der-from A1 A5 \n =
A6 _)), (!), \n (if (get-option local tt) \n (coq.error\n HB: declare=
-instance: cannot make builders local.\n If you want temporary instances=
, make an alias, e.g. with let T' :=3D T) \n true), (!), \n (instance.pri=
vate.declare-canonical-instances-from-factory-and-local-builders\n A0 A1 =
A2 A5 A6 A3 A4).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (current-mode\n =
(builder-from A1 A5 \n =
A6 _)), (!), \n (if (get-option local tt) \n (coq.error\n =
HB: declare-instance: cannot make builders local.\n If you want temporar=
y instances, make an alias, e.g. with let T' :=3D T) \n true), (!), \n (i=
nstance.private.declare-canonical-instances-from-factory-and-local-builders=
\n A0 A1 A2 A5 A6 A3 A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 188,
"column": 0,
"character": 8025
@@ -79264,13 +76674,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -79289,8 +76697,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -79315,13 +76722,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -79336,8 +76741,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -79369,8 +76773,7 @@
"Inference",
{
"current_goal_id": 1462,
- "current_goal_text":
- "instance.private.declare-instance (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) \n (global (indt =C2=ABnat=C2=BB)) (global (const =C2=ABHB_unnamed_=
factory_27=C2=BB)) X89 X90",
+ "current_goal_text": "instance.private.declare-instance (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) \n (global (indt =C2=ABnat=C2=BB)) (global (cons=
t =C2=ABHB_unnamed_factory_27=C2=BB)) X89 X90",
"current_goal_predicate": "instance.private.declare-instance",
"failed_attempts": [],
"successful_attempts": [
@@ -79379,13 +76782,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :-=
(instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option =
export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \=
\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D ins=
tance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A=
2 A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (=
get-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (=
c0 \\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 ,=
c1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instanc=
e.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -79405,13 +76806,11 @@
},
"siblings": [
{
- "goal_text":
- "instance.private.declare-canonical-instances-from-facto=
ry\n (indt =C2=ABIsSelfA'.axioms_=C2=BB) (global (indt =C2=ABnat=C2=BB)) \n=
(global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X90",
+ "goal_text": "instance.private.declare-canonical-instances=
-from-factory\n (indt =C2=ABIsSelfA'.axioms_=C2=BB) (global (indt =C2=ABnat=
=C2=BB)) \n (global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X90",
"goal_id": 1470
},
{
- "goal_text":
- "if (get-option export tt) \n (coq.env.current-library X=
132 ,\n std.map X90 (c0 \\ c1 \\\n sigma c2 \\ sigma c3 \\ c0 =3D pr c=
2 c3 , c1 =3D instance-to-export X132 c2 c3) \n X89) (X89 =3D [])",
+ "goal_text": "if (get-option export tt) \n (coq.env.curren=
t-library X132 ,\n std.map X90 (c0 \\ c1 \\\n sigma c2 \\ sigma c3 \\ =
c0 =3D pr c2 c3 , c1 =3D instance-to-export X132 c2 c3) \n X89) (X89 =3D=
[])",
"goal_id": 1471
}
],
@@ -79424,13 +76823,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -79730,13 +77127,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -79755,8 +77150,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -79781,13 +77175,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -79802,8 +77194,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -79835,10 +77226,8 @@
"Inference",
{
"current_goal_id": 1470,
- "current_goal_text":
- "instance.private.declare-canonical-instances-from-factory\n (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB) (global (indt =C2=ABnat=C2=BB)) \n (global=
(const =C2=ABHB_unnamed_factory_27=C2=BB)) X90",
- "current_goal_predicate":
- "instance.private.declare-canonical-instances-from-factory",
+ "current_goal_text": "instance.private.declare-canonical-instances=
-from-factory\n (indt =C2=ABIsSelfA'.axioms_=C2=BB) (global (indt =C2=ABnat=
=C2=BB)) \n (global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X90",
+ "current_goal_predicate": "instance.private.declare-canonical-inst=
ances-from-factory",
"failed_attempts": [],
"successful_attempts": [
{
@@ -79846,13 +77235,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fa=
ctory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factor=
y.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n =
[(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.pr=
ivate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 =
, instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instan=
ces-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-=
from-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do!=
A1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n =
instance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes=
-for A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instanc=
e.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -79871,8 +77258,7 @@
},
"siblings": [
{
- "goal_text":
- "std.do!\n [synthesis.under-mixin-src-from-factory.do! (=
global (indt =C2=ABnat=C2=BB)) \n (global (const =C2=ABHB_unnamed_factory=
_27=C2=BB)) \n [synthesis.under-local-canonical-mixins-of.do! (global (in=
dt =C2=ABnat=C2=BB)) \n [(factory-provides (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) X133 ,\n list-w-params_list X133 X134), \n instance.pri=
vate.add-all-mixins (global (indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIs=
SelfA'.axioms_=C2=BB) X134 tt _ X135, \n (findall-classes-for X134 X13=
6 ,\n instance.declare-all (global (indt =C2=ABnat=C2=BB)) X136 X137=
)]], \n std.append X135 X137 X90]",
+ "goal_text": "std.do!\n [synthesis.under-mixin-src-from-fa=
ctory.do! (global (indt =C2=ABnat=C2=BB)) \n (global (const =C2=ABHB_unna=
med_factory_27=C2=BB)) \n [synthesis.under-local-canonical-mixins-of.do! =
(global (indt =C2=ABnat=C2=BB)) \n [(factory-provides (indt =C2=ABIsSel=
fA'.axioms_=C2=BB) X133 ,\n list-w-params_list X133 X134), \n i=
nstance.private.add-all-mixins (global (indt =C2=ABnat=C2=BB)) \n (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB) X134 tt _ X135, \n (findall-classes-f=
or X134 X136 ,\n instance.declare-all (global (indt =C2=ABnat=C2=BB)=
) X136 X137)]], \n std.append X135 X137 X90]",
"goal_id": 1472
}
],
@@ -79885,13 +77271,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -79906,13 +77290,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -80212,13 +77594,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -80237,8 +77617,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -80263,13 +77642,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -80284,8 +77661,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -80317,8 +77693,7 @@
"Inference",
{
"current_goal_id": 1472,
- "current_goal_text":
- "std.do!\n [synthesis.under-mixin-src-from-factory.do! (global (=
indt =C2=ABnat=C2=BB)) \n (global (const =C2=ABHB_unnamed_factory_27=C2=
=BB)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt =C2=
=ABnat=C2=BB)) \n [(factory-provides (indt =C2=ABIsSelfA'.axioms_=C2=BB=
) X133 ,\n list-w-params_list X133 X134), \n instance.private.a=
dd-all-mixins (global (indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'=
.axioms_=C2=BB) X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n =
instance.declare-all (global (indt =C2=ABnat=C2=BB)) X136 X137)]], \=
n std.append X135 X137 X90]",
+ "current_goal_text": "std.do!\n [synthesis.under-mixin-src-from-fa=
ctory.do! (global (indt =C2=ABnat=C2=BB)) \n (global (const =C2=ABHB_unna=
med_factory_27=C2=BB)) \n [synthesis.under-local-canonical-mixins-of.do! =
(global (indt =C2=ABnat=C2=BB)) \n [(factory-provides (indt =C2=ABIsSel=
fA'.axioms_=C2=BB) X133 ,\n list-w-params_list X133 X134), \n i=
nstance.private.add-all-mixins (global (indt =C2=ABnat=C2=BB)) \n (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB) X134 tt _ X135, \n (findall-classes-f=
or X134 X136 ,\n instance.declare-all (global (indt =C2=ABnat=C2=BB)=
) X136 X137)]], \n std.append X135 X137 X90]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -80327,8 +77702,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -80350,8 +77724,7 @@
},
"siblings": [
{
- "goal_text":
- "synthesis.under-mixin-src-from-factory.do! (global (ind=
t =C2=ABnat=C2=BB)) \n (global (const =C2=ABHB_unnamed_factory_27=C2=BB)) \=
n [synthesis.under-local-canonical-mixins-of.do! (global (indt =C2=ABnat=C2=
=BB)) \n [(factory-provides (indt =C2=ABIsSelfA'.axioms_=C2=BB) X133 ,\n =
list-w-params_list X133 X134), \n instance.private.add-all-mixins (=
global (indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.axioms_=C2=BB) X=
134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.decla=
re-all (global (indt =C2=ABnat=C2=BB)) X136 X137)]]",
+ "goal_text": "synthesis.under-mixin-src-from-factory.do! (=
global (indt =C2=ABnat=C2=BB)) \n (global (const =C2=ABHB_unnamed_factory_2=
7=C2=BB)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt =
=C2=ABnat=C2=BB)) \n [(factory-provides (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) X133 ,\n list-w-params_list X133 X134), \n instance.private.ad=
d-all-mixins (global (indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n =
instance.declare-all (global (indt =C2=ABnat=C2=BB)) X136 X137)]]",
"goal_id": 1473
},
{ "goal_text": "!", "goal_id": 1474 },
@@ -80388,13 +77761,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -80409,13 +77780,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -80715,13 +78084,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -80740,8 +78107,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -80766,13 +78132,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -80787,8 +78151,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -80820,10 +78183,8 @@
"Inference",
{
"current_goal_id": 1473,
- "current_goal_text":
- "synthesis.under-mixin-src-from-factory.do! (global (indt =C2=AB=
nat=C2=BB)) \n (global (const =C2=ABHB_unnamed_factory_27=C2=BB)) \n [synth=
esis.under-local-canonical-mixins-of.do! (global (indt =C2=ABnat=C2=BB)) \n=
[(factory-provides (indt =C2=ABIsSelfA'.axioms_=C2=BB) X133 ,\n lis=
t-w-params_list X133 X134), \n instance.private.add-all-mixins (global (=
indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.axioms_=C2=BB) X134 tt _=
X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (=
global (indt =C2=ABnat=C2=BB)) X136 X137)]]",
- "current_goal_predicate":
- "synthesis.under-mixin-src-from-factory.do!",
+ "current_goal_text": "synthesis.under-mixin-src-from-factory.do! (=
global (indt =C2=ABnat=C2=BB)) \n (global (const =C2=ABHB_unnamed_factory_2=
7=C2=BB)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt =
=C2=ABnat=C2=BB)) \n [(factory-provides (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) X133 ,\n list-w-params_list X133 X134), \n instance.private.ad=
d-all-mixins (global (indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n =
instance.declare-all (global (indt =C2=ABnat=C2=BB)) X136 X137)]]",
+ "current_goal_predicate": "synthesis.under-mixin-src-from-factory.=
do!",
"failed_attempts": [],
"successful_attempts": [
{
@@ -80831,13 +78192,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2)=
:- (std.do!\n [s=
ynthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do=
! A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
synthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -80858,8 +78217,7 @@
},
"siblings": [
{
- "goal_text":
- "std.do!\n [synthesis.private.factory-instance->new-mixi=
ns [] \n (global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X138, \n std=
.map X138 (c0 \\ c1 \\\n c1 =3D\n mixin-src (global (indt =C2=ABnat=C2=
=BB)) c0 \n (global (const =C2=ABHB_unnamed_factory_27=C2=BB))) X139, \=
n X139 =3D>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do=
! (global (indt =C2=ABnat=C2=BB)) \n [(factory-provides (indt =C2=ABIs=
SelfA'.axioms_=C2=BB) X133 ,\n list-w-params_list X133 X134), \n =
instance.private.add-all-mixins (global (indt =C2=ABnat=C2=BB)) \n =
(indt =C2=ABIsSelfA'.axioms_=C2=BB) X134 tt _ X135, \n (findall-cl=
asses-for X134 X136 ,\n instance.declare-all (global (indt =C2=ABna=
t=C2=BB)) X136 X137)]]]",
+ "goal_text": "std.do!\n [synthesis.private.factory-instanc=
e->new-mixins [] \n (global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X1=
38, \n std.map X138 (c0 \\ c1 \\\n c1 =3D\n mixin-src (global (indt =
=C2=ABnat=C2=BB)) c0 \n (global (const =C2=ABHB_unnamed_factory_27=C2=
=BB))) X139, \n X139 =3D>\n std.do!\n [synthesis.under-local-canonica=
l-mixins-of.do! (global (indt =C2=ABnat=C2=BB)) \n [(factory-provides =
(indt =C2=ABIsSelfA'.axioms_=C2=BB) X133 ,\n list-w-params_list X13=
3 X134), \n instance.private.add-all-mixins (global (indt =C2=ABnat=
=C2=BB)) \n (indt =C2=ABIsSelfA'.axioms_=C2=BB) X134 tt _ X135, \n =
(findall-classes-for X134 X136 ,\n instance.declare-all (globa=
l (indt =C2=ABnat=C2=BB)) X136 X137)]]]",
"goal_id": 1476
}
],
@@ -80872,13 +78230,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -80912,13 +78268,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -80933,13 +78287,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -81239,13 +78591,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -81264,8 +78614,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -81290,13 +78639,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -81311,8 +78658,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -81344,8 +78690,7 @@
"Inference",
{
"current_goal_id": 1476,
- "current_goal_text":
- "std.do!\n [synthesis.private.factory-instance->new-mixins [] \n=
(global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X138, \n std.map X13=
8 (c0 \\ c1 \\\n c1 =3D\n mixin-src (global (indt =C2=ABnat=C2=BB)) c0=
\n (global (const =C2=ABHB_unnamed_factory_27=C2=BB))) X139, \n X139 =
=3D>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do! (globa=
l (indt =C2=ABnat=C2=BB)) \n [(factory-provides (indt =C2=ABIsSelfA'.a=
xioms_=C2=BB) X133 ,\n list-w-params_list X133 X134), \n inst=
ance.private.add-all-mixins (global (indt =C2=ABnat=C2=BB)) \n (indt=
=C2=ABIsSelfA'.axioms_=C2=BB) X134 tt _ X135, \n (findall-classes-fo=
r X134 X136 ,\n instance.declare-all (global (indt =C2=ABnat=C2=BB)=
) X136 X137)]]]",
+ "current_goal_text": "std.do!\n [synthesis.private.factory-instanc=
e->new-mixins [] \n (global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X1=
38, \n std.map X138 (c0 \\ c1 \\\n c1 =3D\n mixin-src (global (indt =
=C2=ABnat=C2=BB)) c0 \n (global (const =C2=ABHB_unnamed_factory_27=C2=
=BB))) X139, \n X139 =3D>\n std.do!\n [synthesis.under-local-canonica=
l-mixins-of.do! (global (indt =C2=ABnat=C2=BB)) \n [(factory-provides =
(indt =C2=ABIsSelfA'.axioms_=C2=BB) X133 ,\n list-w-params_list X13=
3 X134), \n instance.private.add-all-mixins (global (indt =C2=ABnat=
=C2=BB)) \n (indt =C2=ABIsSelfA'.axioms_=C2=BB) X134 tt _ X135, \n =
(findall-classes-for X134 X136 ,\n instance.declare-all (globa=
l (indt =C2=ABnat=C2=BB)) X136 X137)]]]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -81354,8 +78699,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -81380,14 +78724,12 @@
},
"siblings": [
{
- "goal_text":
- "synthesis.private.factory-instance->new-mixins [] \n (g=
lobal (const =C2=ABHB_unnamed_factory_27=C2=BB)) X138",
+ "goal_text": "synthesis.private.factory-instance->new-mixi=
ns [] \n (global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X138",
"goal_id": 1477
},
{ "goal_text": "!", "goal_id": 1478 },
{
- "goal_text":
- "std.do!\n [std.map X138 (c0 \\ c1 \\\n c1 =3D\n mi=
xin-src (global (indt =C2=ABnat=C2=BB)) c0 \n (global (const =C2=ABHB_u=
nnamed_factory_27=C2=BB))) X139, \n X139 =3D>\n std.do!\n [synthesis.=
under-local-canonical-mixins-of.do! (global (indt =C2=ABnat=C2=BB)) \n =
[(factory-provides (indt =C2=ABIsSelfA'.axioms_=C2=BB) X133 ,\n li=
st-w-params_list X133 X134), \n instance.private.add-all-mixins (glob=
al (indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.axioms_=C2=BB) X1=
34 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.=
declare-all (global (indt =C2=ABnat=C2=BB)) X136 X137)]]]",
+ "goal_text": "std.do!\n [std.map X138 (c0 \\ c1 \\\n c1 =
=3D\n mixin-src (global (indt =C2=ABnat=C2=BB)) c0 \n (global (const=
=C2=ABHB_unnamed_factory_27=C2=BB))) X139, \n X139 =3D>\n std.do!\n =
[synthesis.under-local-canonical-mixins-of.do! (global (indt =C2=ABnat=C2=
=BB)) \n [(factory-provides (indt =C2=ABIsSelfA'.axioms_=C2=BB) X133 ,=
\n list-w-params_list X133 X134), \n instance.private.add-all=
-mixins (global (indt =C2=ABnat=C2=BB)) \n (indt =C2=ABIsSelfA'.axio=
ms_=C2=BB) X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n =
instance.declare-all (global (indt =C2=ABnat=C2=BB)) X136 X137)]]]",
"goal_id": 1479
}
],
@@ -81419,13 +78761,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -81459,13 +78799,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -81480,13 +78818,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -81786,13 +79122,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -81811,8 +79145,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -81837,13 +79170,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -81858,8 +79189,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -81891,10 +79221,8 @@
"Inference",
{
"current_goal_id": 1477,
- "current_goal_text":
- "synthesis.private.factory-instance->new-mixins [] \n (global (c=
onst =C2=ABHB_unnamed_factory_27=C2=BB)) X138",
- "current_goal_predicate":
- "synthesis.private.factory-instance->new-mixins",
+ "current_goal_text": "synthesis.private.factory-instance->new-mixi=
ns [] \n (global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X138",
+ "current_goal_predicate": "synthesis.private.factory-instance->new=
-mixins",
"failed_attempts": [],
"successful_attempts": [
{
@@ -81902,13 +79230,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1=
A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \=
n A7 \n =
\nhas ty=
pe:\n \n =
A8 \n \=
nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-m=
ixins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->strin=
g\n A3 A=
8) \n (co=
q.error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
synthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -81926,8 +79252,7 @@
},
"siblings": [
{
- "goal_text":
- "std.do!\n [std.assert-ok!\n (coq.typecheck (global (c=
onst =C2=ABHB_unnamed_factory_27=C2=BB)) X140) \n mixin-src: X illtyped, =
\n if (not (coq.safe-dest-app X140 (global _) _)) \n (, (coq.term->strin=
g (global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X141) \n (coq.term=
->string X140 X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhi=
ch is not a record)) true, \n coq.term->gref X140 X143, factory-provides X=
143 X144, \n list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not =
(std.mem! [] c0)) X138]",
+ "goal_text": "std.do!\n [std.assert-ok!\n (coq.typecheck=
(global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X140) \n mixin-src: X=
illtyped, \n if (not (coq.safe-dest-app X140 (global _) _)) \n (, (coq.=
term->string (global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X141) \n =
(coq.term->string X140 X142) \n (coq.error Term:\n X141 \nhas type:\n=
X142 \nwhich is not a record)) true, \n coq.term->gref X140 X143, factory=
-provides X143 X144, \n list-w-params_list X144 X145, \n std.filter X145 =
(c0 \\ not (std.mem! [] c0)) X138]",
"goal_id": 1480
}
],
@@ -81940,13 +79265,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -81980,13 +79303,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -82020,13 +79341,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -82041,13 +79360,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -82347,13 +79664,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -82372,8 +79687,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -82398,13 +79712,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -82419,8 +79731,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -82452,8 +79763,7 @@
"Inference",
{
"current_goal_id": 1480,
- "current_goal_text":
- "std.do!\n [std.assert-ok!\n (coq.typecheck (global (const =C2=
=ABHB_unnamed_factory_27=C2=BB)) X140) \n mixin-src: X illtyped, \n if (=
not (coq.safe-dest-app X140 (global _) _)) \n (, (coq.term->string (globa=
l (const =C2=ABHB_unnamed_factory_27=C2=BB)) X141) \n (coq.term->string=
X140 X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is no=
t a record)) true, \n coq.term->gref X140 X143, factory-provides X143 X144=
, \n list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem=
! [] c0)) X138]",
+ "current_goal_text": "std.do!\n [std.assert-ok!\n (coq.typecheck=
(global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X140) \n mixin-src: X=
illtyped, \n if (not (coq.safe-dest-app X140 (global _) _)) \n (, (coq.=
term->string (global (const =C2=ABHB_unnamed_factory_27=C2=BB)) X141) \n =
(coq.term->string X140 X142) \n (coq.error Term:\n X141 \nhas type:\n=
X142 \nwhich is not a record)) true, \n coq.term->gref X140 X143, factory=
-provides X143 X144, \n list-w-params_list X144 X145, \n std.filter X145 =
(c0 \\ not (std.mem! [] c0)) X138]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -82462,8 +79772,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -82488,14 +79797,12 @@
},
"siblings": [
{
- "goal_text":
- "std.assert-ok!\n (coq.typecheck (global (const =C2=ABHB=
_unnamed_factory_27=C2=BB)) X140) \n mixin-src: X illtyped",
+ "goal_text": "std.assert-ok!\n (coq.typecheck (global (con=
st =C2=ABHB_unnamed_factory_27=C2=BB)) X140) \n mixin-src: X illtyped",
"goal_id": 1481
},
{ "goal_text": "!", "goal_id": 1482 },
{
- "goal_text":
- "std.do!\n [if (not (coq.safe-dest-app X140 (global _) _=
)) \n (, (coq.term->string (global (const =C2=ABHB_unnamed_factory_27=C2=
=BB)) X141) \n (coq.term->string X140 X142) \n (coq.error Term:\n X=
141 \nhas type:\n X142 \nwhich is not a record)) true, \n coq.term->gref X=
140 X143, factory-provides X143 X144, \n list-w-params_list X144 X145, \n =
std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]",
+ "goal_text": "std.do!\n [if (not (coq.safe-dest-app X140 (=
global _) _)) \n (, (coq.term->string (global (const =C2=ABHB_unnamed_fac=
tory_27=C2=BB)) X141) \n (coq.term->string X140 X142) \n (coq.error=
Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true, \n coq.te=
rm->gref X140 X143, factory-provides X143 X144, \n list-w-params_list X144=
X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]",
"goal_id": 1483
}
],
@@ -82527,13 +79834,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -82567,13 +79872,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -82607,13 +79910,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -82628,13 +79929,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -82934,13 +80233,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -82959,8 +80256,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -82985,13 +80281,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -83006,8 +80300,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -83039,8 +80332,7 @@
"Inference",
{
"current_goal_id": 1481,
- "current_goal_text":
- "std.assert-ok!\n (coq.typecheck (global (const =C2=ABHB_unnamed=
_factory_27=C2=BB)) X140) \n mixin-src: X illtyped",
+ "current_goal_text": "std.assert-ok!\n (coq.typecheck (global (con=
st =C2=ABHB_unnamed_factory_27=C2=BB)) X140) \n mixin-src: X illtyped",
"current_goal_predicate": "std.assert-ok!",
"failed_attempts": [],
"successful_attempts": [
@@ -83049,8 +80341,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok=
; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n=
(A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -83072,14 +80363,12 @@
},
"siblings": [
{
- "goal_text":
- "coq.typecheck (global (const =C2=ABHB_unnamed_factory_2=
7=C2=BB)) X140 X146",
+ "goal_text": "coq.typecheck (global (const =C2=ABHB_unname=
d_factory_27=C2=BB)) X140 X146",
"goal_id": 1484
},
{ "goal_text": "!", "goal_id": 1485 },
{
- "goal_text":
- "X146 =3D ok ;\n X146 =3D error X147 , std.fatal-error-w=
-data mixin-src: X illtyped X147",
+ "goal_text": "X146 =3D ok ;\n X146 =3D error X147 , std.fa=
tal-error-w-data mixin-src: X illtyped X147",
"goal_id": 1486
},
{ "goal_text": "!", "goal_id": 1487 }
@@ -83093,8 +80382,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -83132,13 +80420,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -83172,13 +80458,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -83212,13 +80496,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -83233,13 +80515,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -83539,13 +80819,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -83564,8 +80842,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -83590,13 +80867,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -83611,8 +80886,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -83644,8 +80918,7 @@
"Inference",
{
"current_goal_id": 1484,
- "current_goal_text":
- "coq.typecheck (global (const =C2=ABHB_unnamed_factory_27=C2=BB)=
) X140 X146",
+ "current_goal_text": "coq.typecheck (global (const =C2=ABHB_unname=
d_factory_27=C2=BB)) X140 X146",
"current_goal_predicate": "coq.typecheck",
"failed_attempts": [],
"successful_attempts": [
@@ -83656,8 +80929,7 @@
},
"siblings": [
{
- "goal_text":
- "X140 =3D app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB=
), global (indt =C2=ABnat=C2=BB)]",
+ "goal_text": "X140 =3D app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]",
"goal_id": 1488
},
{ "goal_text": "X146 =3D ok", "goal_id": 1489 }
@@ -83676,8 +80948,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -83715,13 +80986,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -83755,13 +81024,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -83795,13 +81062,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -83816,13 +81081,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -84122,13 +81385,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -84147,8 +81408,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -84173,13 +81433,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -84194,8 +81452,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -84227,8 +81484,7 @@
"Inference",
{
"current_goal_id": 1488,
- "current_goal_text":
- "X140 =3D app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), globa=
l (indt =C2=ABnat=C2=BB)]",
+ "current_goal_text": "X140 =3D app [global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -84262,8 +81518,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -84301,13 +81556,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -84341,13 +81594,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -84381,13 +81632,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -84402,13 +81651,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -84708,13 +81955,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -84733,8 +81978,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -84759,13 +82003,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -84780,8 +82022,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -84842,8 +82083,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -84881,13 +82121,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -84921,13 +82159,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -84961,13 +82197,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -84982,13 +82216,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -85288,13 +82520,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -85313,8 +82543,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -85339,13 +82568,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -85360,8 +82587,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -85396,13 +82622,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "std.assert-ok!\n (coq.typecheck (global (const =C2=ABHB_u=
nnamed_factory_27=C2=BB)) X140) \n mixin-src: X illtyped",
+ "goal_text": "std.assert-ok!\n (coq.typecheck (global (const=
=C2=ABHB_unnamed_factory_27=C2=BB)) X140) \n mixin-src: X illtyped",
"goal_id": 1481
},
"cut_branch": {
- "rule_text":
- "(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no di=
agnostic returned).",
+ "rule_text": "(std.assert-ok! _ A0) :- (std.fatal-error-w-da=
ta A0 no diagnostic returned).",
"rule_loc": [
"File",
{
@@ -85426,8 +82650,7 @@
"Inference",
{
"current_goal_id": 1486,
- "current_goal_text":
- "ok =3D ok ; ok =3D error X147 , std.fatal-error-w-data mixin-sr=
c: X illtyped X147",
+ "current_goal_text": "ok =3D ok ; ok =3D error X147 , std.fatal-er=
ror-w-data mixin-src: X illtyped X147",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -85479,8 +82702,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -85518,13 +82740,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -85558,13 +82778,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -85598,13 +82816,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -85619,13 +82835,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -85925,13 +83139,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -85950,8 +83162,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -85976,13 +83187,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -85997,8 +83206,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -86073,8 +83281,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -86112,13 +83319,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -86152,13 +83357,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -86192,13 +83395,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -86213,13 +83414,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -86519,13 +83718,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -86544,8 +83741,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -86570,13 +83766,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -86591,8 +83785,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -86627,8 +83820,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "X146 =3D ok ;\n X146 =3D error X147 , std.fatal-error-w-d=
ata mixin-src: X illtyped X147",
+ "goal_text": "X146 =3D ok ;\n X146 =3D error X147 , std.fata=
l-error-w-data mixin-src: X illtyped X147",
"goal_id": 1486
},
"cut_branch": {
@@ -86662,8 +83854,7 @@
"Inference",
{
"current_goal_id": 1483,
- "current_goal_text":
- "std.do!\n [if\n (not\n (coq.safe-dest-app\n (app [g=
lobal (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) =
\n (global _) _)) \n (, (coq.term->string (global (const =C2=ABHB_u=
nnamed_factory_27=C2=BB)) X141) \n (coq.term->string\n (app [glob=
al (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X14=
2) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a recor=
d)) true, \n coq.term->gref\n (app [global (indt =C2=ABIsSelfA'.axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB)]) X143, \n factory-provides X143 X1=
44, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! =
[] c0)) X138]",
+ "current_goal_text": "std.do!\n [if\n (not\n (coq.safe-dest-=
app\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =
=C2=ABnat=C2=BB)]) \n (global _) _)) \n (, (coq.term->string (globa=
l (const =C2=ABHB_unnamed_factory_27=C2=BB)) X141) \n (coq.term->string=
\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=
=ABnat=C2=BB)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nw=
hich is not a record)) true, \n coq.term->gref\n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X143, \n facto=
ry-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c=
0 \\ not (std.mem! [] c0)) X138]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -86672,8 +83863,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -86698,14 +83888,12 @@
},
"siblings": [
{
- "goal_text":
- "if\n (not\n (coq.safe-dest-app\n (app [global (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (g=
lobal _) _)) \n (, (coq.term->string (global (const =C2=ABHB_unnamed_factor=
y_27=C2=BB)) X141) \n (coq.term->string\n (app [global (indt =C2=ABIs=
SelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X142) \n (coq.erro=
r Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true",
+ "goal_text": "if\n (not\n (coq.safe-dest-app\n (app =
[global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]=
) \n (global _) _)) \n (, (coq.term->string (global (const =C2=ABHB_unn=
amed_factory_27=C2=BB)) X141) \n (coq.term->string\n (app [global (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X142) \n =
(coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true=
",
"goal_id": 1491
},
{ "goal_text": "!", "goal_id": 1492 },
{
- "goal_text":
- "std.do!\n [coq.term->gref\n (app [global (indt =C2=AB=
IsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X143, \n factory-=
provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \=
\ not (std.mem! [] c0)) X138]",
+ "goal_text": "std.do!\n [coq.term->gref\n (app [global (=
indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X143, \=
n factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter=
X145 (c0 \\ not (std.mem! [] c0)) X138]",
"goal_id": 1493
}
],
@@ -86756,13 +83944,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -86796,13 +83982,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -86836,13 +84020,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -86857,13 +84039,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -87163,13 +84343,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -87188,8 +84366,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -87214,13 +84391,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -87235,8 +84410,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -87268,8 +84442,7 @@
"Inference",
{
"current_goal_id": 1491,
- "current_goal_text":
- "if\n (not\n (coq.safe-dest-app\n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global =
_) _)) \n (, (coq.term->string (global (const =C2=ABHB_unnamed_factory_27=
=C2=BB)) X141) \n (coq.term->string\n (app [global (indt =C2=ABIsSelf=
A'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X142) \n (coq.error Te=
rm:\n X141 \nhas type:\n X142 \nwhich is not a record)) true",
+ "current_goal_text": "if\n (not\n (coq.safe-dest-app\n (app =
[global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]=
) \n (global _) _)) \n (, (coq.term->string (global (const =C2=ABHB_unn=
amed_factory_27=C2=BB)) X141) \n (coq.term->string\n (app [global (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X142) \n =
(coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true=
",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -87303,14 +84476,12 @@
},
"siblings": [
{
- "goal_text":
- "not\n (coq.safe-dest-app\n (app [global (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global _) _)",
+ "goal_text": "not\n (coq.safe-dest-app\n (app [global (i=
ndt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (gl=
obal _) _)",
"goal_id": 1494
},
{ "goal_text": "!", "goal_id": 1495 },
{
- "goal_text":
- ", (coq.term->string (global (const =C2=ABHB_unnamed_fac=
tory_27=C2=BB)) X141) \n (coq.term->string\n (app [global (indt =C2=ABIsS=
elfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X142) \n (coq.error T=
erm:\n X141 \nhas type:\n X142 \nwhich is not a record)",
+ "goal_text": ", (coq.term->string (global (const =C2=ABHB_=
unnamed_factory_27=C2=BB)) X141) \n (coq.term->string\n (app [global (ind=
t =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X142) \n (=
coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)",
"goal_id": 1496
}
],
@@ -87380,13 +84551,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -87420,13 +84589,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -87460,13 +84627,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -87481,13 +84646,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -87787,13 +84950,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -87812,8 +84973,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -87838,13 +84998,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -87859,8 +85017,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -87892,8 +85049,7 @@
"Inference",
{
"current_goal_id": 1494,
- "current_goal_text":
- "not\n (coq.safe-dest-app\n (app [global (indt =C2=ABIsSelfA'.=
axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global _) _)",
+ "current_goal_text": "not\n (coq.safe-dest-app\n (app [global (i=
ndt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (gl=
obal _) _)",
"current_goal_predicate": "not",
"failed_attempts": [],
"successful_attempts": [
@@ -87923,8 +85079,7 @@
},
"siblings": [
{
- "goal_text":
- "coq.safe-dest-app\n (app [global (indt =C2=ABIsSelfA'.a=
xioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global _) _",
+ "goal_text": "coq.safe-dest-app\n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global _) _=
",
"goal_id": 1497
},
{ "goal_text": "!", "goal_id": 1498 },
@@ -88015,13 +85170,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -88055,13 +85208,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -88095,13 +85246,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -88116,13 +85265,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -88422,13 +85569,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -88447,8 +85592,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -88473,13 +85617,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -88494,8 +85636,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -88527,8 +85668,7 @@
"Inference",
{
"current_goal_id": 1497,
- "current_goal_text":
- "coq.safe-dest-app\n (app [global (indt =C2=ABIsSelfA'.axioms_=
=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global _) _",
+ "current_goal_text": "coq.safe-dest-app\n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global _) _=
",
"current_goal_predicate": "coq.safe-dest-app",
"failed_attempts": [],
"successful_attempts": [
@@ -88537,8 +85677,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :- (!), \n =
(coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
+ "rule_text": "(coq.safe-dest-app (app [A0 | A1]) A2 A3) =
:- (!), \n (coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
"rule_loc": [
"File",
{
@@ -88559,8 +85698,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1500 },
{
- "goal_text":
- "coq.safe-dest-app (global (indt =C2=ABIsSelfA'.axioms_=
=C2=BB)) (global _) X148",
+ "goal_text": "coq.safe-dest-app (global (indt =C2=ABIsSelf=
A'.axioms_=C2=BB)) (global _) X148",
"goal_id": 1501
},
{
@@ -88577,8 +85715,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :- (!), \n (c=
oq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
+ "rule_text": "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :-=
(!), \n (coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
"rule_loc": [
"File",
{
@@ -88673,13 +85810,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -88713,13 +85848,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -88753,13 +85886,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -88774,13 +85905,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -89080,13 +86209,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -89105,8 +86232,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -89131,13 +86257,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -89152,8 +86276,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -89188,8 +86311,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "coq.safe-dest-app\n (app [global (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global _) _",
+ "goal_text": "coq.safe-dest-app\n (app [global (indt =C2=ABI=
sSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global _) _",
"goal_id": 1497
},
"cut_branch": {
@@ -89217,8 +86339,7 @@
"Inference",
{
"current_goal_id": 1501,
- "current_goal_text":
- "coq.safe-dest-app (global (indt =C2=ABIsSelfA'.axioms_=C2=BB)) =
(global _) X148",
+ "current_goal_text": "coq.safe-dest-app (global (indt =C2=ABIsSelf=
A'.axioms_=C2=BB)) (global _) X148",
"current_goal_predicate": "coq.safe-dest-app",
"failed_attempts": [],
"successful_attempts": [
@@ -89273,8 +86394,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :- (!), \n (c=
oq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
+ "rule_text": "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :-=
(!), \n (coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
"rule_loc": [
"File",
{
@@ -89369,13 +86489,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -89409,13 +86527,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -89449,13 +86565,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -89470,13 +86584,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -89776,13 +86888,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -89801,8 +86911,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -89827,13 +86936,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -89848,8 +86955,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -89936,8 +87042,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :- (!), \n (c=
oq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
+ "rule_text": "(coq.safe-dest-app (app [A0 | A1]) A2 A3) :-=
(!), \n (coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3).",
"rule_loc": [
"File",
{
@@ -90032,13 +87137,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -90072,13 +87175,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -90112,13 +87213,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -90133,13 +87232,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -90439,13 +87536,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -90464,8 +87559,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -90490,13 +87584,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -90511,8 +87603,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -90547,8 +87638,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "not\n (coq.safe-dest-app\n (app [global (indt =C2=ABIsS=
elfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global _) _)",
+ "goal_text": "not\n (coq.safe-dest-app\n (app [global (ind=
t =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (glob=
al _) _)",
"goal_id": 1494
},
"cut_branch": {
@@ -90662,13 +87752,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -90702,13 +87790,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -90742,13 +87828,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -90763,13 +87847,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -91069,13 +88151,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -91094,8 +88174,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -91120,13 +88199,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -91141,8 +88218,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -91174,8 +88250,7 @@
"Inference",
{
"current_goal_id": 1491,
- "current_goal_text":
- "if\n (not\n (coq.safe-dest-app\n (app [global (indt =C2=
=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) \n (global =
_) _)) \n (, (coq.term->string (global (const =C2=ABHB_unnamed_factory_27=
=C2=BB)) X141) \n (coq.term->string\n (app [global (indt =C2=ABIsSelf=
A'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X142) \n (coq.error Te=
rm:\n X141 \nhas type:\n X142 \nwhich is not a record)) true",
+ "current_goal_text": "if\n (not\n (coq.safe-dest-app\n (app =
[global (indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]=
) \n (global _) _)) \n (, (coq.term->string (global (const =C2=ABHB_unn=
amed_factory_27=C2=BB)) X141) \n (coq.term->string\n (app [global (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X142) \n =
(coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true=
",
"current_goal_predicate": "if",
"failed_attempts": [],
"successful_attempts": [
@@ -91265,13 +88340,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -91305,13 +88378,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -91345,13 +88416,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -91366,13 +88435,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -91672,13 +88739,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -91697,8 +88762,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -91723,13 +88787,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -91744,8 +88806,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -91886,13 +88947,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -91926,13 +88985,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -91966,13 +89023,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -91987,13 +89042,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -92293,13 +89346,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -92318,8 +89369,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -92344,13 +89394,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -92365,8 +89413,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -92404,8 +89451,7 @@
"Inference",
{
"current_goal_id": 1493,
- "current_goal_text":
- "std.do!\n [coq.term->gref\n (app [global (indt =C2=ABIsSelfA'=
.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X143, \n factory-provides=
X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (s=
td.mem! [] c0)) X138]",
+ "current_goal_text": "std.do!\n [coq.term->gref\n (app [global (=
indt =C2=ABIsSelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X143, \=
n factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter=
X145 (c0 \\ not (std.mem! [] c0)) X138]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -92414,8 +89460,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -92440,14 +89485,12 @@
},
"siblings": [
{
- "goal_text":
- "coq.term->gref\n (app [global (indt =C2=ABIsSelfA'.axio=
ms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X143",
+ "goal_text": "coq.term->gref\n (app [global (indt =C2=ABIs=
SelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X143",
"goal_id": 1504
},
{ "goal_text": "!", "goal_id": 1505 },
{
- "goal_text":
- "std.do!\n [factory-provides X143 X144, list-w-params_li=
st X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]",
+ "goal_text": "std.do!\n [factory-provides X143 X144, list-=
w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X=
138]",
"goal_id": 1506
}
],
@@ -92517,13 +89560,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -92557,13 +89598,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -92597,13 +89636,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -92618,13 +89655,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -92924,13 +89959,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -92949,8 +89982,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -92975,13 +90007,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -92996,8 +90026,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -93029,8 +90058,7 @@
"Inference",
{
"current_goal_id": 1504,
- "current_goal_text":
- "coq.term->gref\n (app [global (indt =C2=ABIsSelfA'.axioms_=C2=
=BB), global (indt =C2=ABnat=C2=BB)]) X143",
+ "current_goal_text": "coq.term->gref\n (app [global (indt =C2=ABIs=
SelfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X143",
"current_goal_predicate": "coq.term->gref",
"failed_attempts": [],
"successful_attempts": [
@@ -93039,8 +90067,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.term->gref (app [A0 | _]) A1) :- (!), (coq.term-=
>gref A0 A1).",
+ "rule_text": "(coq.term->gref (app [A0 | _]) A1) :- (!),=
(coq.term->gref A0 A1).",
"rule_loc": [
"File",
{
@@ -93060,8 +90087,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1507 },
{
- "goal_text":
- "coq.term->gref (global (indt =C2=ABIsSelfA'.axioms_=C2=
=BB)) X143",
+ "goal_text": "coq.term->gref (global (indt =C2=ABIsSelfA'.=
axioms_=C2=BB)) X143",
"goal_id": 1508
}
],
@@ -93074,8 +90100,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.term->gref (app [A0 | _]) A1) :- (!), (coq.term->g=
ref A0 A1).",
+ "rule_text": "(coq.term->gref (app [A0 | _]) A1) :- (!), (=
coq.term->gref A0 A1).",
"rule_loc": [
"File",
{
@@ -93151,13 +90176,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -93191,13 +90214,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -93231,13 +90252,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -93252,13 +90271,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -93558,13 +90575,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -93583,8 +90598,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -93609,13 +90623,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -93630,8 +90642,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -93666,13 +90677,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "coq.term->gref\n (app [global (indt =C2=ABIsSelfA'.axioms=
_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X143",
+ "goal_text": "coq.term->gref\n (app [global (indt =C2=ABIsSe=
lfA'.axioms_=C2=BB), global (indt =C2=ABnat=C2=BB)]) X143",
"goal_id": 1504
},
"cut_branch": {
- "rule_text":
- "(coq.term->gref A0 _) :- (std.fatal-error-w-data\n =
term->gref: input has no global reference A0).",
+ "rule_text": "(coq.term->gref A0 _) :- (std.fatal-error-w-da=
ta\n term->gref: input has no global reference A0=
).",
"rule_loc": [
"File",
{
@@ -93696,8 +90705,7 @@
"Inference",
{
"current_goal_id": 1508,
- "current_goal_text":
- "coq.term->gref (global (indt =C2=ABIsSelfA'.axioms_=C2=BB)) X14=
3",
+ "current_goal_text": "coq.term->gref (global (indt =C2=ABIsSelfA'.=
axioms_=C2=BB)) X143",
"current_goal_predicate": "coq.term->gref",
"failed_attempts": [],
"successful_attempts": [
@@ -93752,8 +90760,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.term->gref (app [A0 | _]) A1) :- (!), (coq.term->g=
ref A0 A1).",
+ "rule_text": "(coq.term->gref (app [A0 | _]) A1) :- (!), (=
coq.term->gref A0 A1).",
"rule_loc": [
"File",
{
@@ -93829,13 +90836,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -93869,13 +90874,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -93909,13 +90912,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -93930,13 +90931,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -94236,13 +91235,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -94261,8 +91258,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -94287,13 +91283,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -94308,8 +91302,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -94344,13 +91337,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "coq.term->gref (global (indt =C2=ABIsSelfA'.axioms_=C2=BB=
)) X143",
+ "goal_text": "coq.term->gref (global (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB)) X143",
"goal_id": 1508
},
"cut_branch": {
- "rule_text":
- "(coq.term->gref A0 _) :- (std.fatal-error-w-data\n =
term->gref: input has no global reference A0).",
+ "rule_text": "(coq.term->gref A0 _) :- (std.fatal-error-w-da=
ta\n term->gref: input has no global reference A0=
).",
"rule_loc": [
"File",
{
@@ -94380,8 +91371,7 @@
"Inference",
{
"current_goal_id": 1506,
- "current_goal_text":
- "std.do!\n [factory-provides (indt =C2=ABIsSelfA'.axioms_=C2=BB)=
X144, \n list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (st=
d.mem! [] c0)) X138]",
+ "current_goal_text": "std.do!\n [factory-provides (indt =C2=ABIsSe=
lfA'.axioms_=C2=BB) X144, \n list-w-params_list X144 X145, \n std.filter =
X145 (c0 \\ not (std.mem! [] c0)) X138]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -94390,8 +91380,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -94416,14 +91405,12 @@
},
"siblings": [
{
- "goal_text":
- "factory-provides (indt =C2=ABIsSelfA'.axioms_=C2=BB) X1=
44",
+ "goal_text": "factory-provides (indt =C2=ABIsSelfA'.axioms=
_=C2=BB) X144",
"goal_id": 1510
},
{ "goal_text": "!", "goal_id": 1511 },
{
- "goal_text":
- "std.do!\n [list-w-params_list X144 X145, \n std.filter=
X145 (c0 \\ not (std.mem! [] c0)) X138]",
+ "goal_text": "std.do!\n [list-w-params_list X144 X145, \n =
std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]",
"goal_id": 1512
}
],
@@ -94512,13 +91499,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -94552,13 +91537,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -94592,13 +91575,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -94613,13 +91594,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -94919,13 +91898,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -94944,8 +91921,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -94970,13 +91946,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -94991,8 +91965,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -95024,8 +91997,7 @@
"Inference",
{
"current_goal_id": 1510,
- "current_goal_text":
- "factory-provides (indt =C2=ABIsSelfA'.axioms_=C2=BB) X144",
+ "current_goal_text": "factory-provides (indt =C2=ABIsSelfA'.axioms=
_=C2=BB) X144",
"current_goal_predicate": "factory-provides",
"failed_attempts": [],
"successful_attempts": [
@@ -95034,13 +92006,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]=
).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -95055,8 +92025,7 @@
},
"siblings": [
{
- "goal_text":
- "std.do!\n [factory-alias->gref (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB) X150, gref-deps X150 X151, \n w-params.map X151 (factory-provi=
des.base X150) X144]",
+ "goal_text": "std.do!\n [factory-alias->gref (indt =C2=ABI=
sSelfA'.axioms_=C2=BB) X150, gref-deps X150 X151, \n w-params.map X151 (fa=
ctory-provides.base X150) X144]",
"goal_id": 1513
}
],
@@ -95069,13 +92038,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -95166,13 +92133,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -95206,13 +92171,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -95246,13 +92209,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -95267,13 +92228,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -95573,13 +92532,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -95598,8 +92555,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -95624,13 +92580,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -95645,8 +92599,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -95678,8 +92631,7 @@
"Inference",
{
"current_goal_id": 1513,
- "current_goal_text":
- "std.do!\n [factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) X150, gref-deps X150 X151, \n w-params.map X151 (factory-provides.bas=
e X150) X144]",
+ "current_goal_text": "std.do!\n [factory-alias->gref (indt =C2=ABI=
sSelfA'.axioms_=C2=BB) X150, gref-deps X150 X151, \n w-params.map X151 (fa=
ctory-provides.base X150) X144]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -95688,8 +92640,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -95714,14 +92665,12 @@
},
"siblings": [
{
- "goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=BB)=
X150",
+ "goal_text": "factory-alias->gref (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB) X150",
"goal_id": 1514
},
{ "goal_text": "!", "goal_id": 1515 },
{
- "goal_text":
- "std.do!\n [gref-deps X150 X151, w-params.map X151 (fact=
ory-provides.base X150) X144]",
+ "goal_text": "std.do!\n [gref-deps X150 X151, w-params.map=
X151 (factory-provides.base X150) X144]",
"goal_id": 1516
}
],
@@ -95753,13 +92702,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -95850,13 +92797,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -95890,13 +92835,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -95930,13 +92873,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -95951,13 +92892,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -96257,13 +93196,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -96282,8 +93219,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -96308,13 +93244,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -96329,8 +93263,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -96362,8 +93295,7 @@
"Inference",
{
"current_goal_id": 1514,
- "current_goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=BB) X150",
+ "current_goal_text": "factory-alias->gref (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB) X150",
"current_goal_predicate": "factory-alias->gref",
"failed_attempts": [],
"successful_attempts": [
@@ -96372,13 +93304,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _)=
, (!).",
+ "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbr=
ev A1 A0 _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 74,
"column": 0,
"character": 2385
@@ -96393,8 +93323,7 @@
},
"siblings": [
{
- "goal_text":
- "phant-abbrev X150 (indt =C2=ABIsSelfA'.axioms_=C2=BB) _=
",
+ "goal_text": "phant-abbrev X150 (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB) _",
"goal_id": 1517
},
{ "goal_text": "!", "goal_id": 1518 }
@@ -96408,13 +93337,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), =
(!).",
+ "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev=
A1 A0 _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 74,
"column": 0,
"character": 2385
@@ -96448,13 +93375,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -96545,13 +93470,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -96585,13 +93508,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -96625,13 +93546,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -96646,13 +93565,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -96952,13 +93869,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -96977,8 +93892,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -97003,13 +93917,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -97024,8 +93936,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -97057,16 +93968,14 @@
"Inference",
{
"current_goal_id": 1517,
- "current_goal_text":
- "phant-abbrev X150 (indt =C2=ABIsSelfA'.axioms_=C2=BB) _",
+ "current_goal_text": "phant-abbrev X150 (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB) _",
"current_goal_predicate": "phant-abbrev",
"failed_attempts": [
{
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB=
) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -97090,8 +93999,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABHasA.Axioms_=C2=BB) (const =
=C2=ABHasA.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasA.Build=C2=BB=
) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABHasA.Axioms_=C2=BB=
) (const =C2=ABHasA.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasA.Bu=
ild=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -97115,8 +94023,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB) (const =
=C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB=
) (const =C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -97140,8 +94047,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABHasB.Axioms_=C2=BB) (const =
=C2=ABHasB.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasB.Build=C2=BB=
) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABHasB.Axioms_=C2=BB=
) (const =C2=ABHasB.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasB.Bu=
ild=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -97165,8 +94071,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=BB) (const=
=C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA.axi=
oms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=
=BB) (const =C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.=
IsSelfA.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -97190,8 +94095,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABIsSelfA.Axioms_=C2=BB) (const=
=C2=ABIsSelfA.phant_Build=C2=BB) \n =C2=ABinterleave_context.IsSelfA.Buil=
d=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABIsSelfA.Axioms_=C2=
=BB) (const =C2=ABIsSelfA.phant_Build=C2=BB) \n =C2=ABinterleave_context.I=
sSelfA.Build=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -97215,8 +94119,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=C2=BB) (cons=
t =C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA'.=
axioms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (const =C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_cont=
ext.IsSelfA'.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -97240,8 +94143,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABIsSelfA'.Axioms_=C2=BB) (cons=
t =C2=ABIsSelfA'.phant_Build=C2=BB) \n =C2=ABinterleave_context.IsSelfA'.B=
uild=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB) (const =C2=ABIsSelfA'.phant_Build=C2=BB) \n =C2=ABinterleave_conte=
xt.IsSelfA'.Build=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -97269,8 +94171,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB=
) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -97289,13 +94190,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), =
(!).",
+ "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev=
A1 A0 _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 74,
"column": 0,
"character": 2385
@@ -97329,13 +94228,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -97426,13 +94323,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -97466,13 +94361,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -97506,13 +94399,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -97527,13 +94418,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -97833,13 +94722,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -97858,8 +94745,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -97884,13 +94770,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -97905,8 +94789,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -97938,8 +94821,7 @@
"Inference",
{
"current_goal_id": 1514,
- "current_goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=BB) X150",
+ "current_goal_text": "factory-alias->gref (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB) X150",
"current_goal_predicate": "factory-alias->gref",
"failed_attempts": [],
"successful_attempts": [
@@ -97948,13 +94830,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _),=
(!).",
+ "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbr=
ev A0 _ _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 75,
"column": 0,
"character": 2443
@@ -97983,13 +94863,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (=
!).",
+ "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev=
A0 _ _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 75,
"column": 0,
"character": 2443
@@ -98023,13 +94901,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -98120,13 +94996,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -98160,13 +95034,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -98200,13 +95072,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -98221,13 +95091,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -98527,13 +95395,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -98552,8 +95418,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -98578,13 +95443,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -98599,8 +95462,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -98639,8 +95501,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB) (const =
=C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB=
) (const =C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -98663,8 +95524,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=BB) (const=
=C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA.axi=
oms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=
=BB) (const =C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.=
IsSelfA.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -98687,8 +95547,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=C2=BB) (cons=
t =C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA'.=
axioms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (const =C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_cont=
ext.IsSelfA'.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -98709,8 +95568,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=
=BB) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.Has=
A.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -98739,8 +95597,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB=
) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -98759,13 +95616,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (=
!).",
+ "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev=
A0 _ _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 75,
"column": 0,
"character": 2443
@@ -98799,13 +95654,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -98896,13 +95749,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -98936,13 +95787,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -98976,13 +95825,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -98997,13 +95844,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -99303,13 +96148,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -99328,8 +96171,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -99354,13 +96196,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -99375,8 +96215,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -99411,13 +96250,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=BB) X=
150",
+ "goal_text": "factory-alias->gref (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB) X150",
"goal_id": 1514
},
"cut_branch": {
- "rule_text":
- "(factory-alias->gref (indt =C2=ABA.axioms_=C2=BB) (indt =
=C2=ABA.axioms_=C2=BB)) :- .",
+ "rule_text": "(factory-alias->gref (indt =C2=ABA.axioms_=C2=
=BB) (indt =C2=ABA.axioms_=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -99431,13 +96268,11 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=BB) X=
150",
+ "goal_text": "factory-alias->gref (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB) X150",
"goal_id": 1514
},
"cut_branch": {
- "rule_text":
- "(factory-alias->gref (indt =C2=ABB.axioms_=C2=BB) (indt =
=C2=ABB.axioms_=C2=BB)) :- .",
+ "rule_text": "(factory-alias->gref (indt =C2=ABB.axioms_=C2=
=BB) (indt =C2=ABB.axioms_=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -99451,13 +96286,11 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA'.axioms_=C2=BB) X=
150",
+ "goal_text": "factory-alias->gref (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB) X150",
"goal_id": 1514
},
"cut_branch": {
- "rule_text":
- "(factory-alias->gref (indt =C2=ABSelfA.axioms_=C2=BB) (in=
dt =C2=ABSelfA.axioms_=C2=BB)) :- .",
+ "rule_text": "(factory-alias->gref (indt =C2=ABSelfA.axioms_=
=C2=BB) (indt =C2=ABSelfA.axioms_=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -99487,8 +96320,7 @@
"Inference",
{
"current_goal_id": 1516,
- "current_goal_text":
- "std.do!\n [gref-deps (indt =C2=ABIsSelfA'.axioms_=C2=BB) X151, =
\n w-params.map X151 (factory-provides.base (indt =C2=ABIsSelfA'.axioms_=
=C2=BB)) X144]",
+ "current_goal_text": "std.do!\n [gref-deps (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) X151, \n w-params.map X151 (factory-provides.base (indt =C2=
=ABIsSelfA'.axioms_=C2=BB)) X144]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -99497,8 +96329,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -99528,8 +96359,7 @@
},
{ "goal_text": "!", "goal_id": 1522 },
{
- "goal_text":
- "std.do!\n [w-params.map X151 (factory-provides.base (in=
dt =C2=ABIsSelfA'.axioms_=C2=BB)) X144]",
+ "goal_text": "std.do!\n [w-params.map X151 (factory-provid=
es.base (indt =C2=ABIsSelfA'.axioms_=C2=BB)) X144]",
"goal_id": 1523
}
],
@@ -99580,13 +96410,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -99677,13 +96505,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -99717,13 +96543,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -99757,13 +96581,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -99778,13 +96600,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -100084,13 +96904,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -100109,8 +96927,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -100135,13 +96952,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -100156,8 +96971,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -100198,8 +97012,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(gref-deps (indt =C2=ABIsSelfA'.axioms_=C2=BB) \n (w=
-params.nil TheType (sort (typ =C2=ABinterleave_context.382=C2=BB)) (c0 \\ =
[]))) :- .",
+ "rule_text": "(gref-deps (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) \n (w-params.nil TheType (sort (typ =C2=ABinterleave_context.382=C2=
=BB)) (c0 \\ []))) :- .",
"rule_loc": [
"File",
{
@@ -100228,8 +97041,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(gref-deps (indt =C2=ABIsSelfA'.axioms_=C2=BB) \n (w-p=
arams.nil TheType (sort (typ =C2=ABinterleave_context.382=C2=BB)) (c0 \\ []=
))) :- .",
+ "rule_text": "(gref-deps (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) \n (w-params.nil TheType (sort (typ =C2=ABinterleave_context.382=C2=
=BB)) (c0 \\ []))) :- .",
"rule_loc": [
"File",
{
@@ -100286,13 +97098,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -100383,13 +97193,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -100423,13 +97231,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -100463,13 +97269,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -100484,13 +97288,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -100790,13 +97592,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -100815,8 +97615,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -100841,13 +97640,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -100862,8 +97659,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -100901,8 +97697,7 @@
"Inference",
{
"current_goal_id": 1523,
- "current_goal_text":
- "std.do!\n [w-params.map\n (w-params.nil TheType (sort (typ =
=C2=ABinterleave_context.382=C2=BB)) c0 \\ []) \n (factory-provides.base =
(indt =C2=ABIsSelfA'.axioms_=C2=BB)) X144]",
+ "current_goal_text": "std.do!\n [w-params.map\n (w-params.nil Th=
eType (sort (typ =C2=ABinterleave_context.382=C2=BB)) c0 \\ []) \n (facto=
ry-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB)) X144]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -100911,8 +97706,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -100934,8 +97728,7 @@
},
"siblings": [
{
- "goal_text":
- "w-params.map\n (w-params.nil TheType (sort (typ =C2=ABi=
nterleave_context.382=C2=BB)) c0 \\ []) \n (factory-provides.base (indt =C2=
=ABIsSelfA'.axioms_=C2=BB)) X144",
+ "goal_text": "w-params.map\n (w-params.nil TheType (sort (=
typ =C2=ABinterleave_context.382=C2=BB)) c0 \\ []) \n (factory-provides.bas=
e (indt =C2=ABIsSelfA'.axioms_=C2=BB)) X144",
"goal_id": 1524
},
{ "goal_text": "!", "goal_id": 1525 },
@@ -101007,13 +97800,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -101104,13 +97895,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -101144,13 +97933,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -101184,13 +97971,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -101205,13 +97990,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -101511,13 +98294,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -101536,8 +98317,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -101562,13 +98342,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -101583,8 +98361,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -101616,8 +98393,7 @@
"Inference",
{
"current_goal_id": 1524,
- "current_goal_text":
- "w-params.map\n (w-params.nil TheType (sort (typ =C2=ABinterleav=
e_context.382=C2=BB)) c0 \\ []) \n (factory-provides.base (indt =C2=ABIsSel=
fA'.axioms_=C2=BB)) X144",
+ "current_goal_text": "w-params.map\n (w-params.nil TheType (sort (=
typ =C2=ABinterleave_context.382=C2=BB)) c0 \\ []) \n (factory-provides.bas=
e (indt =C2=ABIsSelfA'.axioms_=C2=BB)) X144",
"current_goal_predicate": "w-params.map",
"failed_attempts": [],
"successful_attempts": [
@@ -101626,13 +98402,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-par=
ams.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then =
A0 mk-w-params.cons-name \n mk-w-params.nil-nam=
e A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
utils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -101654,8 +98428,7 @@
},
"siblings": [
{
- "goal_text":
- "w-params.then\n (w-params.nil TheType (sort (typ =C2=AB=
interleave_context.382=C2=BB)) c0 \\ []) \n mk-w-params.cons-name mk-w-para=
ms.nil-name \n (factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB)) =
X144",
+ "goal_text": "w-params.then\n (w-params.nil TheType (sort =
(typ =C2=ABinterleave_context.382=C2=BB)) c0 \\ []) \n mk-w-params.cons-nam=
e mk-w-params.nil-name \n (factory-provides.base (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB)) X144",
"goal_id": 1527
}
],
@@ -101668,13 +98441,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -101746,13 +98517,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -101843,13 +98612,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -101883,13 +98650,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -101923,13 +98688,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -101944,13 +98707,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -102250,13 +99011,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -102275,8 +99034,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -102301,13 +99059,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -102322,8 +99078,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -102355,8 +99110,7 @@
"Inference",
{
"current_goal_id": 1527,
- "current_goal_text":
- "w-params.then\n (w-params.nil TheType (sort (typ =C2=ABinterlea=
ve_context.382=C2=BB)) c0 \\ []) \n mk-w-params.cons-name mk-w-params.nil-n=
ame \n (factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB)) X144",
+ "current_goal_text": "w-params.then\n (w-params.nil TheType (sort =
(typ =C2=ABinterleave_context.382=C2=BB)) c0 \\ []) \n mk-w-params.cons-nam=
e mk-w-params.nil-name \n (factory-provides.base (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB)) X144",
"current_goal_predicate": "w-params.then",
"failed_attempts": [],
"successful_attempts": [
@@ -102365,13 +99119,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A=
1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n=
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 =
c1 c2 =3D>\n A3 c0 c6 (c3 c6) (c5 =
c6))) ,\n A2 c1 c2 c5 c4)))))))) A4)=
.",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-param=
s.fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 =
\\ (c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (=
c3 c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)=
))))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
utils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -102395,8 +99147,7 @@
},
"siblings": [
{
- "goal_text":
- "w-params.fold\n (w-params.nil TheType (sort (typ =C2=AB=
interleave_context.382=C2=BB)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1=
\\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =3D>\n =
factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) c0 c6 (c3 c6) (c=
5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) X144",
+ "goal_text": "w-params.fold\n (w-params.nil TheType (sort =
(typ =C2=ABinterleave_context.382=C2=BB)) c0 \\ []) \n mk-w-params.cons-nam=
e (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c=
2 =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) c0 c6=
(c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) X144",
"goal_id": 1528
}
],
@@ -102409,13 +99160,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -102430,13 +99179,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -102508,13 +99255,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -102605,13 +99350,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -102645,13 +99388,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -102685,13 +99426,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -102706,13 +99445,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -103012,13 +99749,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -103037,8 +99772,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -103063,13 +99797,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -103084,8 +99816,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -103117,8 +99848,7 @@
"Inference",
{
"current_goal_id": 1528,
- "current_goal_text":
- "w-params.fold\n (w-params.nil TheType (sort (typ =C2=ABinterlea=
ve_context.382=C2=BB)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 \\ c2 \=
\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =3D>\n factory=
-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) c0 c6 (c3 c6) (c5 c6) ,\=
n mk-w-params.nil-name c1 c2 c5 c4) X144",
+ "current_goal_text": "w-params.fold\n (w-params.nil TheType (sort =
(typ =C2=ABinterleave_context.382=C2=BB)) c0 \\ []) \n mk-w-params.cons-nam=
e (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c=
2 =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) c0 c6=
(c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) X144",
"current_goal_predicate": "w-params.fold",
"failed_attempts": [],
"successful_attempts": [
@@ -103127,13 +99857,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params =
A0 A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.f=
old.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
utils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -103156,8 +99884,7 @@
},
"siblings": [
{
- "goal_text":
- "w-params.fold.params\n (w-params.nil TheType (sort (typ=
=C2=ABinterleave_context.382=C2=BB)) c0 \\ []) \n mk-w-params.cons-name (c=
0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =
=3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) c0 c6 (=
c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) [] X144",
+ "goal_text": "w-params.fold.params\n (w-params.nil TheType=
(sort (typ =C2=ABinterleave_context.382=C2=BB)) c0 \\ []) \n mk-w-params.c=
ons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl =
c6 c1 c2 =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB=
) c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) [] X144",
"goal_id": 1529
}
],
@@ -103170,13 +99897,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -103191,13 +99916,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -103212,13 +99935,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -103290,13 +100011,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -103387,13 +100106,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -103427,13 +100144,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -103467,13 +100182,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -103488,13 +100201,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -103794,13 +100505,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -103819,8 +100528,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -103845,13 +100553,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -103866,8 +100572,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -103899,8 +100604,7 @@
"Inference",
{
"current_goal_id": 1529,
- "current_goal_text":
- "w-params.fold.params\n (w-params.nil TheType (sort (typ =C2=ABi=
nterleave_context.382=C2=BB)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 =
\\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =3D>\n =
factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) c0 c6 (c3 c6) (c5=
c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) [] X144",
+ "current_goal_text": "w-params.fold.params\n (w-params.nil TheType=
(sort (typ =C2=ABinterleave_context.382=C2=BB)) c0 \\ []) \n mk-w-params.c=
ons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl =
c6 c1 c2 =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB=
) c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) [] X144",
"current_goal_predicate": "w-params.fold.params",
"failed_attempts": [],
"successful_attempts": [
@@ -103909,13 +100613,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4=
A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2=
A5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 =
A2) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 =
A7 A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
utils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -103938,8 +100640,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1530 },
{
- "goal_text":
- "std.do!\n [coq.id->name TheType X152, std.rev [] X153, =
\n sigma c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ =C2=ABinterleave_=
context.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.a=
xioms_=C2=BB) X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (ty=
p =C2=ABinterleave_context.382=C2=BB)) c0 X144]",
+ "goal_text": "std.do!\n [coq.id->name TheType X152, std.re=
v [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ =C2=AB=
interleave_context.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X=
152 (sort (typ =C2=ABinterleave_context.382=C2=BB)) c0 X144]",
"goal_id": 1531
}
],
@@ -103952,13 +100653,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -103973,13 +100672,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -103994,13 +100691,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -104015,13 +100710,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -104093,13 +100786,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -104190,13 +100881,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -104230,13 +100919,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -104270,13 +100957,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -104291,13 +100976,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -104597,13 +101280,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -104622,8 +101303,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -104648,13 +101328,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -104669,8 +101347,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -104708,8 +101385,7 @@
"Inference",
{
"current_goal_id": 1531,
- "current_goal_text":
- "std.do!\n [coq.id->name TheType X152, std.rev [] X153, \n sigm=
a c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ =C2=ABinterleave_context.=
382=C2=BB)) =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ =C2=
=ABinterleave_context.382=C2=BB)) c0 X144]",
+ "current_goal_text": "std.do!\n [coq.id->name TheType X152, std.re=
v [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ =C2=AB=
interleave_context.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X=
152 (sort (typ =C2=ABinterleave_context.382=C2=BB)) c0 X144]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -104718,8 +101394,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -104743,8 +101418,7 @@
{ "goal_text": "coq.id->name TheType X152", "goal_id": 1532 =
},
{ "goal_text": "!", "goal_id": 1533 },
{
- "goal_text":
- "std.do!\n [std.rev [] X153, \n sigma c0 \\\n pi c1 \=
\\n decl c1 X152 (sort (typ =C2=ABinterleave_context.382=C2=BB)) =3D>\n =
factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) X153 c1 [] (c=
0 c1) ,\n mk-w-params.nil-name X152 (sort (typ =C2=ABinterleave_context.=
382=C2=BB)) c0 X144]",
+ "goal_text": "std.do!\n [std.rev [] X153, \n sigma c0 \\\=
n pi c1 \\\n decl c1 X152 (sort (typ =C2=ABinterleave_context.382=C2=
=BB)) =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) =
X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ =C2=ABinterl=
eave_context.382=C2=BB)) c0 X144]",
"goal_id": 1534
}
],
@@ -104776,13 +101450,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -104797,13 +101469,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -104818,13 +101488,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -104839,13 +101507,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -104917,13 +101583,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -105014,13 +101678,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -105054,13 +101716,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -105094,13 +101754,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -105115,13 +101773,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -105421,13 +102077,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -105446,8 +102100,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -105472,13 +102125,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -105493,8 +102144,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -105535,8 +102185,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.id->name A0 A1) :- (coq.string->name A0 A1).",
+ "rule_text": "(coq.id->name A0 A1) :- (coq.string->name =
A0 A1).",
"rule_loc": [
"File",
{
@@ -105549,8 +102198,7 @@
}
],
"events": [
- [ "Assign", "A0 :=3D TheType" ],
- [ "Assign", "A1 :=3D X152" ]
+ [ "Assign", "A0 :=3D TheType" ], [ "Assign", "A1 :=3D X152=
" ]
]
},
"siblings": [
@@ -105568,8 +102216,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.id->name A0 A1) :- (coq.string->name A0 A1).",
+ "rule_text": "(coq.id->name A0 A1) :- (coq.string->name A0=
A1).",
"rule_loc": [
"File",
{
@@ -105607,13 +102254,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -105628,13 +102273,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -105649,13 +102292,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -105670,13 +102311,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -105748,13 +102387,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -105845,13 +102482,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -105885,13 +102520,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -105925,13 +102558,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -105946,13 +102577,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -106252,13 +102881,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -106277,8 +102904,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -106303,13 +102929,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -106324,8 +102948,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -106383,8 +103006,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.id->name A0 A1) :- (coq.string->name A0 A1).",
+ "rule_text": "(coq.id->name A0 A1) :- (coq.string->name A0=
A1).",
"rule_loc": [
"File",
{
@@ -106422,13 +103044,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -106443,13 +103063,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -106464,13 +103082,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -106485,13 +103101,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -106563,13 +103177,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -106660,13 +103272,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -106700,13 +103310,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -106740,13 +103348,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -106761,13 +103367,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -107067,13 +103671,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -107092,8 +103694,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -107118,13 +103719,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -107139,8 +103738,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -107201,8 +103799,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.id->name A0 A1) :- (coq.string->name A0 A1).",
+ "rule_text": "(coq.id->name A0 A1) :- (coq.string->name A0=
A1).",
"rule_loc": [
"File",
{
@@ -107240,13 +103837,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -107261,13 +103856,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -107282,13 +103875,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -107303,13 +103894,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -107381,13 +103970,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -107478,13 +104065,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -107518,13 +104103,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -107558,13 +104141,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -107579,13 +104160,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -107885,13 +104464,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -107910,8 +104487,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -107936,13 +104512,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -107957,8 +104531,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -107996,8 +104569,7 @@
"Inference",
{
"current_goal_id": 1534,
- "current_goal_text":
- "std.do!\n [std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n d=
ecl c1 `TheType` (sort (typ =C2=ABinterleave_context.382=C2=BB)) =3D>\n =
factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) X153 c1 [] (c0 c=
1) ,\n mk-w-params.nil-name `TheType` (sort (typ =C2=ABinterleave_contex=
t.382=C2=BB)) \n c0 X144]",
+ "current_goal_text": "std.do!\n [std.rev [] X153, \n sigma c0 \\\=
n pi c1 \\\n decl c1 `TheType` (sort (typ =C2=ABinterleave_context.382=
=C2=BB)) =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ =
=C2=ABinterleave_context.382=C2=BB)) \n c0 X144]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -108006,8 +104578,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -108031,8 +104602,7 @@
{ "goal_text": "std.rev [] X153", "goal_id": 1537 },
{ "goal_text": "!", "goal_id": 1538 },
{
- "goal_text":
- "std.do!\n [sigma c0 \\\n pi c1 \\\n decl c1 `TheTy=
pe` (sort (typ =C2=ABinterleave_context.382=C2=BB)) =3D>\n factory-prov=
ides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) X153 c1 [] (c0 c1) ,\n mk-=
w-params.nil-name `TheType` (sort (typ =C2=ABinterleave_context.382=C2=BB))=
\n c0 X144]",
+ "goal_text": "std.do!\n [sigma c0 \\\n pi c1 \\\n dec=
l c1 `TheType` (sort (typ =C2=ABinterleave_context.382=C2=BB)) =3D>\n f=
actory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) X153 c1 [] (c0 c1)=
,\n mk-w-params.nil-name `TheType` (sort (typ =C2=ABinterleave_context.=
382=C2=BB)) \n c0 X144]",
"goal_id": 1539
}
],
@@ -108083,13 +104653,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -108104,13 +104672,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -108125,13 +104691,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -108146,13 +104710,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -108224,13 +104786,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -108321,13 +104881,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -108361,13 +104919,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -108401,13 +104957,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -108422,13 +104976,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -108728,13 +105280,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -108753,8 +105303,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -108779,13 +105328,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -108800,8 +105347,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -108855,8 +105401,7 @@
}
],
"events": [
- [ "Assign", "A0 :=3D []" ],
- [ "Assign", "A1 :=3D X153" ]
+ [ "Assign", "A0 :=3D []" ], [ "Assign", "A1 :=3D X153" ]
]
},
"siblings": [
@@ -108928,13 +105473,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -108949,13 +105492,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -108970,13 +105511,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -108991,13 +105530,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -109069,13 +105606,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -109166,13 +105701,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -109206,13 +105739,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -109246,13 +105777,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -109267,13 +105796,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -109573,13 +106100,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -109598,8 +106123,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -109624,13 +106148,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -109645,8 +106167,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -109700,8 +106221,7 @@
}
],
"events": [
- [ "Assign", "A0 :=3D []" ],
- [ "Assign", "X153 :=3D []" ]
+ [ "Assign", "A0 :=3D []" ], [ "Assign", "X153 :=3D []" ]
]
},
"siblings": [],
@@ -109790,13 +106310,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -109811,13 +106329,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -109832,13 +106348,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -109853,13 +106367,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -109931,13 +106443,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -110028,13 +106538,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -110068,13 +106576,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -110108,13 +106614,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -110129,13 +106633,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -110435,13 +106937,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -110460,8 +106960,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -110486,13 +106985,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -110507,8 +107004,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -110546,8 +107042,7 @@
"Inference",
{
"current_goal_id": 1539,
- "current_goal_text":
- "std.do!\n [sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sor=
t (typ =C2=ABinterleave_context.382=C2=BB)) =3D>\n factory-provides.bas=
e (indt =C2=ABIsSelfA'.axioms_=C2=BB) [] c1 [] (c0 c1) ,\n mk-w-params.n=
il-name `TheType` (sort (typ =C2=ABinterleave_context.382=C2=BB)) \n c0=
X144]",
+ "current_goal_text": "std.do!\n [sigma c0 \\\n pi c1 \\\n dec=
l c1 `TheType` (sort (typ =C2=ABinterleave_context.382=C2=BB)) =3D>\n f=
actory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) [] c1 [] (c0 c1) ,=
\n mk-w-params.nil-name `TheType` (sort (typ =C2=ABinterleave_context.38=
2=C2=BB)) \n c0 X144]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -110556,8 +107051,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -110579,8 +107073,7 @@
},
"siblings": [
{
- "goal_text":
- "sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ =
=C2=ABinterleave_context.382=C2=BB)) =3D>\n factory-provides.base (indt =
=C2=ABIsSelfA'.axioms_=C2=BB) [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `T=
heType` (sort (typ =C2=ABinterleave_context.382=C2=BB)) c0 \n X144",
+ "goal_text": "sigma c0 \\\n pi c1 \\\n decl c1 `TheType` =
(sort (typ =C2=ABinterleave_context.382=C2=BB)) =3D>\n factory-provides.b=
ase (indt =C2=ABIsSelfA'.axioms_=C2=BB) [] c1 [] (c0 c1) ,\n mk-w-params.n=
il-name `TheType` (sort (typ =C2=ABinterleave_context.382=C2=BB)) c0 \n X=
144",
"goal_id": 1541
},
{ "goal_text": "!", "goal_id": 1542 },
@@ -110652,13 +107145,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -110673,13 +107164,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -110694,13 +107183,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -110715,13 +107202,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -110793,13 +107278,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -110890,13 +107373,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -110930,13 +107411,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -110970,13 +107449,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -110991,13 +107468,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -111297,13 +107772,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -111322,8 +107795,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -111348,13 +107820,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -111369,8 +107839,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -111402,8 +107871,7 @@
"Inference",
{
"current_goal_id": 1541,
- "current_goal_text":
- "sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ =C2=ABin=
terleave_context.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=ABIsS=
elfA'.axioms_=C2=BB) [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (=
sort (typ =C2=ABinterleave_context.382=C2=BB)) c0 \n X144",
+ "current_goal_text": "sigma c0 \\\n pi c1 \\\n decl c1 `TheType` =
(sort (typ =C2=ABinterleave_context.382=C2=BB)) =3D>\n factory-provides.b=
ase (indt =C2=ABIsSelfA'.axioms_=C2=BB) [] c1 [] (c0 c1) ,\n mk-w-params.n=
il-name `TheType` (sort (typ =C2=ABinterleave_context.382=C2=BB)) c0 \n X=
144",
"current_goal_predicate": "sigma",
"failed_attempts": [],
"successful_attempts": [
@@ -111414,8 +107882,7 @@
},
"siblings": [
{
- "goal_text":
- "pi c0 \\\n decl c0 `TheType` (sort (typ =C2=ABinterleav=
e_context.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) [] c0 [] (X154 c0) ,\n mk-w-params.nil-name `TheType` (sort (t=
yp =C2=ABinterleave_context.382=C2=BB)) X154 \n X144",
+ "goal_text": "pi c0 \\\n decl c0 `TheType` (sort (typ =C2=
=ABinterleave_context.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) [] c0 [] (X154 c0) ,\n mk-w-params.nil-name `The=
Type` (sort (typ =C2=ABinterleave_context.382=C2=BB)) X154 \n X144",
"goal_id": 1544
}
],
@@ -111490,13 +107957,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -111511,13 +107976,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -111532,13 +107995,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -111553,13 +108014,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -111631,13 +108090,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -111728,13 +108185,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -111768,13 +108223,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -111808,13 +108261,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -111829,13 +108280,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -112135,13 +108584,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -112160,8 +108607,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -112186,13 +108632,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -112207,8 +108651,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -112240,8 +108683,7 @@
"Inference",
{
"current_goal_id": 1544,
- "current_goal_text":
- "pi c0 \\\n decl c0 `TheType` (sort (typ =C2=ABinterleave_contex=
t.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) [] c0 [] (X154 c0) ,\n mk-w-params.nil-name `TheType` (sort (typ =C2=
=ABinterleave_context.382=C2=BB)) X154 \n X144",
+ "current_goal_text": "pi c0 \\\n decl c0 `TheType` (sort (typ =C2=
=ABinterleave_context.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) [] c0 [] (X154 c0) ,\n mk-w-params.nil-name `The=
Type` (sort (typ =C2=ABinterleave_context.382=C2=BB)) X154 \n X144",
"current_goal_predicate": ",",
"failed_attempts": [],
"successful_attempts": [
@@ -112252,13 +108694,11 @@
},
"siblings": [
{
- "goal_text":
- "pi c0 \\\n decl c0 `TheType` (sort (typ =C2=ABinterleav=
e_context.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) [] c0 [] (X154 c0)",
+ "goal_text": "pi c0 \\\n decl c0 `TheType` (sort (typ =C2=
=ABinterleave_context.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) [] c0 [] (X154 c0)",
"goal_id": 1545
},
{
- "goal_text":
- "mk-w-params.nil-name `TheType` (sort (typ =C2=ABinterle=
ave_context.382=C2=BB)) X154 \n X144",
+ "goal_text": "mk-w-params.nil-name `TheType` (sort (typ =
=C2=ABinterleave_context.382=C2=BB)) X154 \n X144",
"goal_id": 1546
}
],
@@ -112338,13 +108778,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -112359,13 +108797,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -112380,13 +108816,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -112401,13 +108835,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -112479,13 +108911,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -112576,13 +109006,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -112616,13 +109044,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -112656,13 +109082,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -112677,13 +109101,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -112983,13 +109405,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -113008,8 +109428,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -113034,13 +109453,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -113055,8 +109472,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -113088,8 +109504,7 @@
"Inference",
{
"current_goal_id": 1545,
- "current_goal_text":
- "pi c0 \\\n decl c0 `TheType` (sort (typ =C2=ABinterleave_contex=
t.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) [] c0 [] (X154 c0)",
+ "current_goal_text": "pi c0 \\\n decl c0 `TheType` (sort (typ =C2=
=ABinterleave_context.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=
=ABIsSelfA'.axioms_=C2=BB) [] c0 [] (X154 c0)",
"current_goal_predicate": "pi",
"failed_attempts": [],
"successful_attempts": [
@@ -113100,8 +109515,7 @@
},
"siblings": [
{
- "goal_text":
- "decl c0 `TheType` (sort (typ =C2=ABinterleave_context.3=
82=C2=BB)) =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB)=
[] c0 [] (X154 c0)",
+ "goal_text": "decl c0 `TheType` (sort (typ =C2=ABinterleav=
e_context.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB) [] c0 [] (X154 c0)",
"goal_id": 1547
}
],
@@ -113186,13 +109600,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -113207,13 +109619,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -113228,13 +109638,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -113249,13 +109657,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -113327,13 +109733,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -113424,13 +109828,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -113464,13 +109866,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -113504,13 +109904,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -113525,13 +109923,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -113831,13 +110227,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -113856,8 +110250,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -113882,13 +110275,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -113903,8 +110294,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -113936,8 +110326,7 @@
"Inference",
{
"current_goal_id": 1547,
- "current_goal_text":
- "decl c0 `TheType` (sort (typ =C2=ABinterleave_context.382=C2=BB=
)) =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) [] c0 [=
] (X154 c0)",
+ "current_goal_text": "decl c0 `TheType` (sort (typ =C2=ABinterleav=
e_context.382=C2=BB)) =3D>\n factory-provides.base (indt =C2=ABIsSelfA'.axi=
oms_=C2=BB) [] c0 [] (X154 c0)",
"current_goal_predicate": "=3D>",
"failed_attempts": [],
"successful_attempts": [
@@ -113948,8 +110337,7 @@
},
"siblings": [
{
- "goal_text":
- "factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) [] c0 [] (X154 c0)",
+ "goal_text": "factory-provides.base (indt =C2=ABIsSelfA'.a=
xioms_=C2=BB) [] c0 [] (X154 c0)",
"goal_id": 1548
}
],
@@ -114039,13 +110427,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -114060,13 +110446,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -114081,13 +110465,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -114102,13 +110484,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -114180,13 +110560,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -114277,13 +110655,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -114317,13 +110693,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -114357,13 +110731,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -114378,13 +110750,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -114684,13 +111054,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -114709,8 +111077,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -114735,13 +111102,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -114756,8 +111121,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -114789,8 +111153,7 @@
"Inference",
{
"current_goal_id": 1548,
- "current_goal_text":
- "factory-provides.base (indt =C2=ABIsSelfA'.axioms_=C2=BB) [] c0=
[] (X154 c0)",
+ "current_goal_text": "factory-provides.base (indt =C2=ABIsSelfA'.a=
xioms_=C2=BB) [] c0 [] (X154 c0)",
"current_goal_predicate": "factory-provides.base",
"failed_attempts": [],
"successful_attempts": [
@@ -114799,13 +111162,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \=
n std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (=
std.do!\n [std.findall (from A0 A=
4 A5) A6, \n std.map A6 from_mix=
in A7, \n std.map A6 from_builde=
r A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -114822,8 +111183,7 @@
},
"siblings": [
{
- "goal_text":
- "std.do!\n [std.findall (from (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB) X155^1 X156^1) X157^1, \n std.map X157^1 from_mixin X158^1, std.=
map X157^1 from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provide=
s.one [] c0) (X154 c0)]",
+ "goal_text": "std.do!\n [std.findall (from (indt =C2=ABIsS=
elfA'.axioms_=C2=BB) X155^1 X156^1) X157^1, \n std.map X157^1 from_mixin X=
158^1, std.map X157^1 from_builder X159^1, \n std.map2 X159^1 X158^1 (fact=
ory-provides.one [] c0) (X154 c0)]",
"goal_id": 1549
}
],
@@ -114836,13 +111196,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -114934,13 +111292,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -114955,13 +111311,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -114976,13 +111330,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -114997,13 +111349,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -115075,13 +111425,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -115172,13 +111520,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -115212,13 +111558,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -115252,13 +111596,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -115273,13 +111615,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -115579,13 +111919,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -115604,8 +111942,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -115630,13 +111967,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -115651,8 +111986,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -115684,8 +112018,7 @@
"Inference",
{
"current_goal_id": 1549,
- "current_goal_text":
- "std.do!\n [std.findall (from (indt =C2=ABIsSelfA'.axioms_=C2=BB=
) X155^1 X156^1) X157^1, \n std.map X157^1 from_mixin X158^1, std.map X157=
^1 from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provides.one []=
c0) (X154 c0)]",
+ "current_goal_text": "std.do!\n [std.findall (from (indt =C2=ABIsS=
elfA'.axioms_=C2=BB) X155^1 X156^1) X157^1, \n std.map X157^1 from_mixin X=
158^1, std.map X157^1 from_builder X159^1, \n std.map2 X159^1 X158^1 (fact=
ory-provides.one [] c0) (X154 c0)]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -115694,8 +112027,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -115720,14 +112052,12 @@
},
"siblings": [
{
- "goal_text":
- "std.findall (from (indt =C2=ABIsSelfA'.axioms_=C2=BB) X=
155^1 X156^1) X157^1",
+ "goal_text": "std.findall (from (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB) X155^1 X156^1) X157^1",
"goal_id": 1550
},
{ "goal_text": "!", "goal_id": 1551 },
{
- "goal_text":
- "std.do!\n [std.map X157^1 from_mixin X158^1, std.map X1=
57^1 from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provides.one =
[] c0) (X154 c0)]",
+ "goal_text": "std.do!\n [std.map X157^1 from_mixin X158^1,=
std.map X157^1 from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-pr=
ovides.one [] c0) (X154 c0)]",
"goal_id": 1552
}
],
@@ -115759,13 +112089,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -115857,13 +112185,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -115878,13 +112204,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -115899,13 +112223,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -115920,13 +112242,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -115998,13 +112318,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -116095,13 +112413,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -116135,13 +112451,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -116175,13 +112489,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -116196,13 +112508,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -116502,13 +112812,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -116527,8 +112835,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -116553,13 +112860,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -116574,8 +112879,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -116607,8 +112911,7 @@
"Inference",
{
"current_goal_id": 1550,
- "current_goal_text":
- "std.findall (from (indt =C2=ABIsSelfA'.axioms_=C2=BB) X155^1 X1=
56^1) X157^1",
+ "current_goal_text": "std.findall (from (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB) X155^1 X156^1) X157^1",
"current_goal_predicate": "std.findall",
"failed_attempts": [],
"successful_attempts": [
@@ -116617,8 +112920,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.findall A0 A1) :- (findall_solutions A0 A1).",
+ "rule_text": "(std.findall A0 A1) :- (findall_solutions =
A0 A1).",
"rule_loc": [
"File",
{
@@ -116640,8 +112942,7 @@
},
"siblings": [
{
- "goal_text":
- "findall_solutions (from (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) X155^1 X156^1) X157^1",
+ "goal_text": "findall_solutions (from (indt =C2=ABIsSelfA'=
.axioms_=C2=BB) X155^1 X156^1) X157^1",
"goal_id": 1553
}
],
@@ -116654,8 +112955,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.findall A0 A1) :- (findall_solutions A0 A1).",
+ "rule_text": "(std.findall A0 A1) :- (findall_solutions A0=
A1).",
"rule_loc": [
"File",
{
@@ -116693,13 +112993,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -116791,13 +113089,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -116812,13 +113108,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -116833,13 +113127,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -116854,13 +113146,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -116932,13 +113222,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -117029,13 +113317,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -117069,13 +113355,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -117109,13 +113393,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -117130,13 +113412,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -117436,13 +113716,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -117461,8 +113739,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -117487,13 +113764,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -117508,8 +113783,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -117541,8 +113815,7 @@
"Findall",
{
"findall_goal_id": 1553,
- "findall_goal_text":
- "findall_solutions (from (indt =C2=ABIsSelfA'.axioms_=C2=BB) X15=
5^1 X156^1) X157^1",
+ "findall_goal_text": "findall_solutions (from (indt =C2=ABIsSelfA'=
.axioms_=C2=BB) X155^1 X156^1) X157^1",
"findall_cards": [
{
"step_id": 0,
@@ -117563,16 +113836,14 @@
"Inference",
{
"current_goal_id": 1555,
- "current_goal_text":
- "from (indt =C2=ABIsSelfA'.axioms_=C2=BB) X0^1 X1^1",
+ "current_goal_text": "from (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) X0^1 X1^1",
"current_goal_predicate": "from",
"failed_attempts": [
{
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABA.axioms_=C2=BB) (indt =C2=AB=
HasA.axioms_=C2=BB) \n (const =C2=ABA.interleave_context_HasA_mixin=C2=BB)=
) :- .",
+ "rule_text": "(from (indt =C2=ABA.axioms_=C2=BB) (=
indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABA.interleave_context_HasA_m=
ixin=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117595,8 +113866,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABHasB.axioms_=C2=BB) (indt =C2=
=ABHasB.axioms_=C2=BB) \n (const =C2=ABHasB.identity_builder=C2=BB)) :- .",
+ "rule_text": "(from (indt =C2=ABHasB.axioms_=C2=BB=
) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABHasB.identity_builder=C2=
=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117619,8 +113889,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABB.axioms_=C2=BB) (indt =C2=AB=
HasB.axioms_=C2=BB) \n (const =C2=ABB.interleave_context_HasB_mixin=C2=BB)=
) :- .",
+ "rule_text": "(from (indt =C2=ABB.axioms_=C2=BB) (=
indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABB.interleave_context_HasB_m=
ixin=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117643,8 +113912,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABIsSelfA.axioms_=C2=BB) (indt =
=C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABIsSelfA.identity_builder=C2=
=BB)) :- .",
+ "rule_text": "(from (indt =C2=ABIsSelfA.axioms_=C2=
=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABIsSelfA.identity_b=
uilder=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117667,8 +113935,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABSelfA.axioms_=C2=BB) (indt =
=C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABSelfA.interleave_context_HasA_mi=
xin=C2=BB)) :- .",
+ "rule_text": "(from (indt =C2=ABSelfA.axioms_=C2=
=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABSelfA.interleave_cont=
ext_HasA_mixin=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117691,8 +113958,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABSelfA.axioms_=C2=BB) (indt =
=C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABSelfA.interleave_context_HasB_mi=
xin=C2=BB)) :- .",
+ "rule_text": "(from (indt =C2=ABSelfA.axioms_=C2=
=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABSelfA.interleave_cont=
ext_HasB_mixin=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117715,8 +113981,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABSelfA.axioms_=C2=BB) (indt =
=C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABSelfA.interleave_context_IsSe=
lfA_mixin=C2=BB)) :- .",
+ "rule_text": "(from (indt =C2=ABSelfA.axioms_=C2=
=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABSelfA.interleave_c=
ontext_IsSelfA_mixin=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117739,8 +114004,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt=
=C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_facto=
ry_24=C2=BB)) :- .",
+ "rule_text": "(from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_=
unnamed_factory_24=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117767,8 +114031,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABHasA.axioms_=C2=BB) (indt =
=C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABHasA.identity_builder=C2=BB)) :-=
.",
+ "rule_text": "(from (indt =C2=ABHasA.axioms_=C2=
=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABHasA.identity_builder=
=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117797,8 +114060,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABHasA.axioms_=C2=BB) (indt =C2=
=ABHasA.axioms_=C2=BB) \n (const =C2=ABHasA.identity_builder=C2=BB)) :- .",
+ "rule_text": "(from (indt =C2=ABHasA.axioms_=C2=BB=
) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABHasA.identity_builder=C2=
=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117825,8 +114087,7 @@
"Inference",
{
"current_goal_id": 1555,
- "current_goal_text":
- "from (indt =C2=ABIsSelfA'.axioms_=C2=BB) X0^1 X1^1",
+ "current_goal_text": "from (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) X0^1 X1^1",
"current_goal_predicate": "from",
"failed_attempts": [],
"successful_attempts": [
@@ -117835,8 +114096,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (in=
dt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factor=
y_22=C2=BB)) :- .",
+ "rule_text": "(from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unn=
amed_factory_22=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117866,8 +114126,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt=
=C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_=
22=C2=BB)) :- .",
+ "rule_text": "(from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unn=
amed_factory_22=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117894,8 +114153,7 @@
"Inference",
{
"current_goal_id": 1555,
- "current_goal_text":
- "from (indt =C2=ABIsSelfA'.axioms_=C2=BB) X0^1 X1^1",
+ "current_goal_text": "from (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) X0^1 X1^1",
"current_goal_predicate": "from",
"failed_attempts": [],
"successful_attempts": [
@@ -117904,8 +114162,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (in=
dt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factor=
y_20=C2=BB)) :- .",
+ "rule_text": "(from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unn=
amed_factory_20=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117935,8 +114192,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt=
=C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_=
20=C2=BB)) :- .",
+ "rule_text": "(from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unn=
amed_factory_20=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -117970,8 +114226,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.findall A0 A1) :- (findall_solutions A0 A1).",
+ "rule_text": "(std.findall A0 A1) :- (findall_solutions A0=
A1).",
"rule_loc": [
"File",
{
@@ -118009,13 +114264,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -118107,13 +114360,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -118128,13 +114379,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -118149,13 +114398,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -118170,13 +114417,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -118248,13 +114493,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -118345,13 +114588,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -118385,13 +114626,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -118425,13 +114664,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -118446,13 +114683,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -118752,13 +114987,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -118777,8 +115010,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -118803,13 +115035,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -118824,8 +115054,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -118863,8 +115092,7 @@
"Inference",
{
"current_goal_id": 1552,
- "current_goal_text":
- "std.do!\n [std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB=
) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unn=
amed_factory_24=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (ind=
t =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_fact=
ory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABH=
asA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=
=BB)] from_mixin X158^1, \n std.map\n [from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.=
HB_unnamed_factory_24=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB=
) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unname=
d_factory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =
=C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factor=
y_20=C2=BB)] from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provi=
des.one [] c0) (X154 c0)]",
+ "current_goal_text": "std.do!\n [std.map\n [from (indt =C2=ABIsS=
elfA'.axioms_=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=
=ABBuilders_18.HB_unnamed_factory_24=C2=BB), \n from (indt =C2=ABIsSelfA=
'.axioms_=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilde=
rs_18.HB_unnamed_factory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_=
unnamed_factory_20=C2=BB)] from_mixin X158^1, \n std.map\n [from (indt =
=C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (co=
nst =C2=ABBuilders_18.HB_unnamed_factory_24=C2=BB), \n from (indt =C2=AB=
IsSelfA'.axioms_=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=
=ABBuilders_18.HB_unnamed_factory_22=C2=BB), \n from (indt =C2=ABIsSelfA=
'.axioms_=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilde=
rs_18.HB_unnamed_factory_20=C2=BB)] from_builder X159^1, \n std.map2 X159^=
1 X158^1 (factory-provides.one [] c0) (X154 c0)]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -118873,8 +115101,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -118899,14 +115126,12 @@
},
"siblings": [
{
- "goal_text":
- "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (in=
dt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_fa=
ctory_24=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABH=
asB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=
=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHasA.axioms_=
=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)] from_mi=
xin X158^1",
+ "goal_text": "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB=
_unnamed_factory_24=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (i=
ndt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_fact=
ory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHas=
A.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)=
] from_mixin X158^1",
"goal_id": 1556
},
{ "goal_text": "!", "goal_id": 1557 },
{
- "goal_text":
- "std.do!\n [std.map\n [from (indt =C2=ABIsSelfA'.axiom=
s_=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_1=
8.HB_unnamed_factory_24=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unn=
amed_factory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (ind=
t =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_fact=
ory_20=C2=BB)] from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-pro=
vides.one [] c0) (X154 c0)]",
+ "goal_text": "std.do!\n [std.map\n [from (indt =C2=ABIsS=
elfA'.axioms_=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=
=ABBuilders_18.HB_unnamed_factory_24=C2=BB), \n from (indt =C2=ABIsSelfA=
'.axioms_=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilde=
rs_18.HB_unnamed_factory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_=
unnamed_factory_20=C2=BB)] from_builder X159^1, \n std.map2 X159^1 X158^1 =
(factory-provides.one [] c0) (X154 c0)]",
"goal_id": 1558
}
],
@@ -118957,13 +115182,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -119055,13 +115278,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -119076,13 +115297,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -119097,13 +115316,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -119118,13 +115335,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -119196,13 +115411,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -119293,13 +115506,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -119333,13 +115544,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -119373,13 +115582,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -119394,13 +115601,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -119700,13 +115905,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -119725,8 +115928,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -119751,13 +115953,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -119772,8 +115972,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -119805,8 +116004,7 @@
"Inference",
{
"current_goal_id": 1556,
- "current_goal_text":
- "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=
=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_=
24=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHasB.ax=
ioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), \n=
from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) =
\n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)] from_mixin X158=
^1",
+ "current_goal_text": "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB=
_unnamed_factory_24=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (i=
ndt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_fact=
ory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHas=
A.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)=
] from_mixin X158^1",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -119815,8 +116013,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -119843,13 +116040,11 @@
},
"siblings": [
{
- "goal_text":
- "from_mixin\n (from (indt =C2=ABIsSelfA'.axioms_=C2=BB) =
(indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed=
_factory_24=C2=BB)) X160^1",
+ "goal_text": "from_mixin\n (from (indt =C2=ABIsSelfA'.axio=
ms_=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18=
.HB_unnamed_factory_24=C2=BB)) X160^1",
"goal_id": 1559
},
{
- "goal_text":
- "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (in=
dt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_facto=
ry_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHasA=
.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)]=
from_mixin X161^1",
+ "goal_text": "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_un=
named_factory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt=
=C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory=
_20=C2=BB)] from_mixin X161^1",
"goal_id": 1560
}
],
@@ -119862,8 +116057,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -119920,13 +116114,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -120018,13 +116210,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -120039,13 +116229,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -120060,13 +116248,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -120081,13 +116267,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -120159,13 +116343,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -120256,13 +116438,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -120296,13 +116476,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -120336,13 +116514,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -120357,13 +116533,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -120663,13 +116837,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -120688,8 +116860,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -120714,13 +116885,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -120735,8 +116904,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -120768,8 +116936,7 @@
"Inference",
{
"current_goal_id": 1559,
- "current_goal_text":
- "from_mixin\n (from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =
=C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_facto=
ry_24=C2=BB)) X160^1",
+ "current_goal_text": "from_mixin\n (from (indt =C2=ABIsSelfA'.axio=
ms_=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18=
.HB_unnamed_factory_24=C2=BB)) X160^1",
"current_goal_predicate": "from_mixin",
"failed_attempts": [],
"successful_attempts": [
@@ -120782,8 +116949,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 12,
"column": 0,
"character": 414
@@ -120810,8 +116976,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 12,
"column": 0,
"character": 414
@@ -120826,8 +116991,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -120884,13 +117048,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -120982,13 +117144,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -121003,13 +117163,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -121024,13 +117182,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -121045,13 +117201,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -121123,13 +117277,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -121220,13 +117372,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -121260,13 +117410,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -121300,13 +117448,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -121321,13 +117467,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -121627,13 +117771,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -121652,8 +117794,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -121678,13 +117819,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -121699,8 +117838,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -121732,8 +117870,7 @@
"Inference",
{
"current_goal_id": 1560,
- "current_goal_text":
- "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=
=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_22=
=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHasA.axio=
ms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)] from=
_mixin X161^1",
+ "current_goal_text": "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_un=
named_factory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt=
=C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory=
_20=C2=BB)] from_mixin X161^1",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -121742,8 +117879,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -121770,13 +117906,11 @@
},
"siblings": [
{
- "goal_text":
- "from_mixin\n (from (indt =C2=ABIsSelfA'.axioms_=C2=BB) =
(indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_fa=
ctory_22=C2=BB)) X162^1",
+ "goal_text": "from_mixin\n (from (indt =C2=ABIsSelfA'.axio=
ms_=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB=
_unnamed_factory_22=C2=BB)) X162^1",
"goal_id": 1561
},
{
- "goal_text":
- "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (in=
dt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_facto=
ry_20=C2=BB)] from_mixin X163^1",
+ "goal_text": "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_un=
named_factory_20=C2=BB)] from_mixin X163^1",
"goal_id": 1562
}
],
@@ -121789,8 +117923,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -121809,8 +117942,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -121867,13 +117999,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -121965,13 +118095,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -121986,13 +118114,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -122007,13 +118133,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -122028,13 +118152,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -122106,13 +118228,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -122203,13 +118323,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -122243,13 +118361,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -122283,13 +118399,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -122304,13 +118418,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -122610,13 +118722,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -122635,8 +118745,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -122661,13 +118770,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -122682,8 +118789,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -122715,8 +118821,7 @@
"Inference",
{
"current_goal_id": 1561,
- "current_goal_text":
- "from_mixin\n (from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =
=C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_=
22=C2=BB)) X162^1",
+ "current_goal_text": "from_mixin\n (from (indt =C2=ABIsSelfA'.axio=
ms_=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB=
_unnamed_factory_22=C2=BB)) X162^1",
"current_goal_predicate": "from_mixin",
"failed_attempts": [],
"successful_attempts": [
@@ -122729,8 +118834,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 12,
"column": 0,
"character": 414
@@ -122757,8 +118861,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 12,
"column": 0,
"character": 414
@@ -122773,8 +118876,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -122793,8 +118895,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -122851,13 +118952,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -122949,13 +119048,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -122970,13 +119067,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -122991,13 +119086,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -123012,13 +119105,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -123090,13 +119181,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -123187,13 +119276,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -123227,13 +119314,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -123267,13 +119352,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -123288,13 +119371,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -123594,13 +119675,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -123619,8 +119698,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -123645,13 +119723,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -123666,8 +119742,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -123699,8 +119774,7 @@
"Inference",
{
"current_goal_id": 1562,
- "current_goal_text":
- "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=
=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=
=C2=BB)] from_mixin X163^1",
+ "current_goal_text": "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_un=
named_factory_20=C2=BB)] from_mixin X163^1",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -123709,8 +119783,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -123734,8 +119807,7 @@
},
"siblings": [
{
- "goal_text":
- "from_mixin\n (from (indt =C2=ABIsSelfA'.axioms_=C2=BB) =
(indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_fa=
ctory_20=C2=BB)) X164^1",
+ "goal_text": "from_mixin\n (from (indt =C2=ABIsSelfA'.axio=
ms_=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB=
_unnamed_factory_20=C2=BB)) X164^1",
"goal_id": 1563
},
{
@@ -123752,8 +119824,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -123772,8 +119843,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -123792,8 +119862,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -123850,13 +119919,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -123948,13 +120015,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -123969,13 +120034,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -123990,13 +120053,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -124011,13 +120072,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -124089,13 +120148,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -124186,13 +120243,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -124226,13 +120281,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -124266,13 +120319,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -124287,13 +120338,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -124593,13 +120642,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -124618,8 +120665,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -124644,13 +120690,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -124665,8 +120709,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -124698,8 +120741,7 @@
"Inference",
{
"current_goal_id": 1563,
- "current_goal_text":
- "from_mixin\n (from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =
=C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_=
20=C2=BB)) X164^1",
+ "current_goal_text": "from_mixin\n (from (indt =C2=ABIsSelfA'.axio=
ms_=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB=
_unnamed_factory_20=C2=BB)) X164^1",
"current_goal_predicate": "from_mixin",
"failed_attempts": [],
"successful_attempts": [
@@ -124712,8 +120754,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 12,
"column": 0,
"character": 414
@@ -124740,8 +120781,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 12,
"column": 0,
"character": 414
@@ -124756,8 +120796,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -124776,8 +120815,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -124796,8 +120834,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -124854,13 +120891,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -124952,13 +120987,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -124973,13 +121006,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -124994,13 +121025,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -125015,13 +121044,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -125093,13 +121120,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -125190,13 +121215,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -125230,13 +121253,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -125270,13 +121291,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -125291,13 +121310,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -125597,13 +121614,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -125622,8 +121637,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -125648,13 +121662,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -125669,8 +121681,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -125754,8 +121765,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -125774,8 +121784,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -125794,8 +121803,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -125852,13 +121860,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -125950,13 +121956,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -125971,13 +121975,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -125992,13 +121994,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -126013,13 +122013,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -126091,13 +122089,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -126188,13 +122184,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -126228,13 +122222,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -126268,13 +122260,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -126289,13 +122279,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -126595,13 +122583,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -126620,8 +122606,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -126646,13 +122631,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -126667,8 +122650,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -126706,8 +122688,7 @@
"Inference",
{
"current_goal_id": 1558,
- "current_goal_text":
- "std.do!\n [std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB=
) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unn=
amed_factory_24=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (ind=
t =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_fact=
ory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABH=
asA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=
=BB)] from_builder X159^1, \n std.map2 X159^1 \n [indt =C2=ABIsSelfA.axi=
oms_=C2=BB, indt =C2=ABHasB.axioms_=C2=BB, indt =C2=ABHasA.axioms_=C2=BB] \=
n (factory-provides.one [] c0) (X154 c0)]",
+ "current_goal_text": "std.do!\n [std.map\n [from (indt =C2=ABIsS=
elfA'.axioms_=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=
=ABBuilders_18.HB_unnamed_factory_24=C2=BB), \n from (indt =C2=ABIsSelfA=
'.axioms_=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilde=
rs_18.HB_unnamed_factory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_=
unnamed_factory_20=C2=BB)] from_builder X159^1, \n std.map2 X159^1 \n [i=
ndt =C2=ABIsSelfA.axioms_=C2=BB, indt =C2=ABHasB.axioms_=C2=BB, indt =C2=AB=
HasA.axioms_=C2=BB] \n (factory-provides.one [] c0) (X154 c0)]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -126716,8 +122697,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -126742,14 +122722,12 @@
},
"siblings": [
{
- "goal_text":
- "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (in=
dt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_fa=
ctory_24=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABH=
asB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=
=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHasA.axioms_=
=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)] from_bu=
ilder X159^1",
+ "goal_text": "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB=
_unnamed_factory_24=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (i=
ndt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_fact=
ory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHas=
A.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)=
] from_builder X159^1",
"goal_id": 1565
},
{ "goal_text": "!", "goal_id": 1566 },
{
- "goal_text":
- "std.do!\n [std.map2 X159^1 \n [indt =C2=ABIsSelfA.axi=
oms_=C2=BB, indt =C2=ABHasB.axioms_=C2=BB, indt =C2=ABHasA.axioms_=C2=BB] \=
n (factory-provides.one [] c0) (X154 c0)]",
+ "goal_text": "std.do!\n [std.map2 X159^1 \n [indt =C2=AB=
IsSelfA.axioms_=C2=BB, indt =C2=ABHasB.axioms_=C2=BB, indt =C2=ABHasA.axiom=
s_=C2=BB] \n (factory-provides.one [] c0) (X154 c0)]",
"goal_id": 1567
}
],
@@ -126819,13 +122797,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -126917,13 +122893,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -126938,13 +122912,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -126959,13 +122931,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -126980,13 +122950,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -127058,13 +123026,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -127155,13 +123121,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -127195,13 +123159,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -127235,13 +123197,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -127256,13 +123216,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -127562,13 +123520,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -127587,8 +123543,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -127613,13 +123568,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -127634,8 +123587,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -127667,8 +123619,7 @@
"Inference",
{
"current_goal_id": 1565,
- "current_goal_text":
- "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=
=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_=
24=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHasB.ax=
ioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), \n=
from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) =
\n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)] from_builder X1=
59^1",
+ "current_goal_text": "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB=
_unnamed_factory_24=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (i=
ndt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_fact=
ory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHas=
A.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)=
] from_builder X159^1",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -127677,8 +123628,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -127705,13 +123655,11 @@
},
"siblings": [
{
- "goal_text":
- "from_builder\n (from (indt =C2=ABIsSelfA'.axioms_=C2=BB=
) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnam=
ed_factory_24=C2=BB)) X166^1",
+ "goal_text": "from_builder\n (from (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_=
18.HB_unnamed_factory_24=C2=BB)) X166^1",
"goal_id": 1568
},
{
- "goal_text":
- "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (in=
dt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_facto=
ry_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHasA=
.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)]=
from_builder X167^1",
+ "goal_text": "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_un=
named_factory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt=
=C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory=
_20=C2=BB)] from_builder X167^1",
"goal_id": 1569
}
],
@@ -127724,8 +123672,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -127801,13 +123748,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -127899,13 +123844,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -127920,13 +123863,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -127941,13 +123882,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -127962,13 +123901,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -128040,13 +123977,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -128137,13 +124072,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -128177,13 +124110,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -128217,13 +124148,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -128238,13 +124167,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -128544,13 +124471,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -128569,8 +124494,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -128595,13 +124519,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -128616,8 +124538,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -128649,8 +124570,7 @@
"Inference",
{
"current_goal_id": 1568,
- "current_goal_text":
- "from_builder\n (from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =
=C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_facto=
ry_24=C2=BB)) X166^1",
+ "current_goal_text": "from_builder\n (from (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) (indt =C2=ABIsSelfA.axioms_=C2=BB) \n (const =C2=ABBuilders_=
18.HB_unnamed_factory_24=C2=BB)) X166^1",
"current_goal_predicate": "from_builder",
"failed_attempts": [],
"successful_attempts": [
@@ -128659,13 +124579,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from_builder (from _ _ A0) (global A0)) :- .",
+ "rule_text": "(from_builder (from _ _ A0) (global A0)) :=
- .",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 15,
"column": 0,
"character": 476
@@ -128698,8 +124616,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 15,
"column": 0,
"character": 476
@@ -128714,8 +124631,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -128791,13 +124707,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -128889,13 +124803,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -128910,13 +124822,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -128931,13 +124841,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -128952,13 +124860,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -129030,13 +124936,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -129127,13 +125031,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -129167,13 +125069,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -129207,13 +125107,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -129228,13 +125126,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -129534,13 +125430,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -129559,8 +125453,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -129585,13 +125478,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -129606,8 +125497,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -129639,8 +125529,7 @@
"Inference",
{
"current_goal_id": 1569,
- "current_goal_text":
- "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=
=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_22=
=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=ABHasA.axio=
ms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)] from=
_builder X167^1",
+ "current_goal_text": "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_un=
named_factory_22=C2=BB), \n from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt=
=C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory=
_20=C2=BB)] from_builder X167^1",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -129649,8 +125538,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -129677,13 +125565,11 @@
},
"siblings": [
{
- "goal_text":
- "from_builder\n (from (indt =C2=ABIsSelfA'.axioms_=C2=BB=
) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_=
factory_22=C2=BB)) X168^1",
+ "goal_text": "from_builder\n (from (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.=
HB_unnamed_factory_22=C2=BB)) X168^1",
"goal_id": 1570
},
{
- "goal_text":
- "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (in=
dt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_facto=
ry_20=C2=BB)] from_builder X169^1",
+ "goal_text": "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_un=
named_factory_20=C2=BB)] from_builder X169^1",
"goal_id": 1571
}
],
@@ -129696,8 +125582,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -129716,8 +125601,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -129793,13 +125677,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -129891,13 +125773,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -129912,13 +125792,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -129933,13 +125811,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -129954,13 +125830,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -130032,13 +125906,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -130129,13 +126001,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -130169,13 +126039,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -130209,13 +126077,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -130230,13 +126096,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -130536,13 +126400,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -130561,8 +126423,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -130587,13 +126448,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -130608,8 +126467,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -130641,8 +126499,7 @@
"Inference",
{
"current_goal_id": 1570,
- "current_goal_text":
- "from_builder\n (from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =
=C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_=
22=C2=BB)) X168^1",
+ "current_goal_text": "from_builder\n (from (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) (indt =C2=ABHasB.axioms_=C2=BB) \n (const =C2=ABBuilders_18.=
HB_unnamed_factory_22=C2=BB)) X168^1",
"current_goal_predicate": "from_builder",
"failed_attempts": [],
"successful_attempts": [
@@ -130651,13 +126508,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from_builder (from _ _ A0) (global A0)) :- .",
+ "rule_text": "(from_builder (from _ _ A0) (global A0)) :=
- .",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 15,
"column": 0,
"character": 476
@@ -130690,8 +126545,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 15,
"column": 0,
"character": 476
@@ -130706,8 +126560,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -130726,8 +126579,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -130803,13 +126655,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -130901,13 +126751,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -130922,13 +126770,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -130943,13 +126789,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -130964,13 +126808,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -131042,13 +126884,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -131139,13 +126979,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -131179,13 +127017,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -131219,13 +127055,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -131240,13 +127074,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -131546,13 +127378,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -131571,8 +127401,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -131597,13 +127426,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -131618,8 +127445,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -131651,8 +127477,7 @@
"Inference",
{
"current_goal_id": 1571,
- "current_goal_text":
- "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =C2=
=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_20=
=C2=BB)] from_builder X169^1",
+ "current_goal_text": "std.map\n [from (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_un=
named_factory_20=C2=BB)] from_builder X169^1",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -131661,8 +127486,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -131686,8 +127510,7 @@
},
"siblings": [
{
- "goal_text":
- "from_builder\n (from (indt =C2=ABIsSelfA'.axioms_=C2=BB=
) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_=
factory_20=C2=BB)) X170^1",
+ "goal_text": "from_builder\n (from (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.=
HB_unnamed_factory_20=C2=BB)) X170^1",
"goal_id": 1572
},
{
@@ -131704,8 +127527,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -131724,8 +127546,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -131744,8 +127565,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -131821,13 +127641,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -131919,13 +127737,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -131940,13 +127756,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -131961,13 +127775,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -131982,13 +127794,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -132060,13 +127870,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -132157,13 +127965,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -132197,13 +128003,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -132237,13 +128041,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -132258,13 +128060,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -132564,13 +128364,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -132589,8 +128387,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -132615,13 +128412,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -132636,8 +128431,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -132669,8 +128463,7 @@
"Inference",
{
"current_goal_id": 1572,
- "current_goal_text":
- "from_builder\n (from (indt =C2=ABIsSelfA'.axioms_=C2=BB) (indt =
=C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.HB_unnamed_factory_=
20=C2=BB)) X170^1",
+ "current_goal_text": "from_builder\n (from (indt =C2=ABIsSelfA'.ax=
ioms_=C2=BB) (indt =C2=ABHasA.axioms_=C2=BB) \n (const =C2=ABBuilders_18.=
HB_unnamed_factory_20=C2=BB)) X170^1",
"current_goal_predicate": "from_builder",
"failed_attempts": [],
"successful_attempts": [
@@ -132679,13 +128472,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(from_builder (from _ _ A0) (global A0)) :- .",
+ "rule_text": "(from_builder (from _ _ A0) (global A0)) :=
- .",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 15,
"column": 0,
"character": 476
@@ -132718,8 +128509,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 15,
"column": 0,
"character": 476
@@ -132734,8 +128524,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -132754,8 +128543,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -132774,8 +128562,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -132851,13 +128638,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -132949,13 +128734,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -132970,13 +128753,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -132991,13 +128772,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -133012,13 +128791,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -133090,13 +128867,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -133187,13 +128962,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -133227,13 +129000,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -133267,13 +129038,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -133288,13 +129057,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -133594,13 +129361,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -133619,8 +129384,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -133645,13 +129409,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -133666,8 +129428,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -133751,8 +129512,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -133771,8 +129531,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -133791,8 +129550,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -133868,13 +129626,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -133966,13 +129722,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -133987,13 +129741,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -134008,13 +129760,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -134029,13 +129779,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -134107,13 +129855,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -134204,13 +129950,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -134244,13 +129988,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -134284,13 +130026,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -134305,13 +130045,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -134611,13 +130349,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -134636,8 +130372,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -134662,13 +130397,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -134683,8 +130416,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -134722,8 +130454,7 @@
"Inference",
{
"current_goal_id": 1567,
- "current_goal_text":
- "std.do!\n [std.map2\n [global (const =C2=ABBuilders_18.HB_unn=
amed_factory_24=C2=BB), \n global (const =C2=ABBuilders_18.HB_unnamed_fa=
ctory_22=C2=BB), \n global (const =C2=ABBuilders_18.HB_unnamed_factory_2=
0=C2=BB)] \n [indt =C2=ABIsSelfA.axioms_=C2=BB, indt =C2=ABHasB.axioms_=
=C2=BB, indt =C2=ABHasA.axioms_=C2=BB] \n (factory-provides.one [] c0) (X=
154 c0)]",
+ "current_goal_text": "std.do!\n [std.map2\n [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_24=C2=BB), \n global (const =C2=ABBuil=
ders_18.HB_unnamed_factory_22=C2=BB), \n global (const =C2=ABBuilders_18=
.HB_unnamed_factory_20=C2=BB)] \n [indt =C2=ABIsSelfA.axioms_=C2=BB, indt=
=C2=ABHasB.axioms_=C2=BB, indt =C2=ABHasA.axioms_=C2=BB] \n (factory-pro=
vides.one [] c0) (X154 c0)]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -134732,8 +130463,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -134755,8 +130485,7 @@
},
"siblings": [
{
- "goal_text":
- "std.map2\n [global (const =C2=ABBuilders_18.HB_unnamed_=
factory_24=C2=BB), \n global (const =C2=ABBuilders_18.HB_unnamed_factory_2=
2=C2=BB), \n global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)]=
\n [indt =C2=ABIsSelfA.axioms_=C2=BB, indt =C2=ABHasB.axioms_=C2=BB, indt =
=C2=ABHasA.axioms_=C2=BB] \n (factory-provides.one [] c0) (X154 c0)",
+ "goal_text": "std.map2\n [global (const =C2=ABBuilders_18.=
HB_unnamed_factory_24=C2=BB), \n global (const =C2=ABBuilders_18.HB_unname=
d_factory_22=C2=BB), \n global (const =C2=ABBuilders_18.HB_unnamed_factory=
_20=C2=BB)] \n [indt =C2=ABIsSelfA.axioms_=C2=BB, indt =C2=ABHasB.axioms_=
=C2=BB, indt =C2=ABHasA.axioms_=C2=BB] \n (factory-provides.one [] c0) (X15=
4 c0)",
"goal_id": 1574
},
{ "goal_text": "!", "goal_id": 1575 },
@@ -134847,13 +130576,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -134945,13 +130672,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -134966,13 +130691,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -134987,13 +130710,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -135008,13 +130729,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -135086,13 +130805,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -135183,13 +130900,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -135223,13 +130938,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -135263,13 +130976,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -135284,13 +130995,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -135590,13 +131299,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -135615,8 +131322,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -135641,13 +131347,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -135662,8 +131366,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -135695,8 +131398,7 @@
"Inference",
{
"current_goal_id": 1574,
- "current_goal_text":
- "std.map2\n [global (const =C2=ABBuilders_18.HB_unnamed_factory_=
24=C2=BB), \n global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB)=
, \n global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)] \n [ind=
t =C2=ABIsSelfA.axioms_=C2=BB, indt =C2=ABHasB.axioms_=C2=BB, indt =C2=ABHa=
sA.axioms_=C2=BB] \n (factory-provides.one [] c0) (X154 c0)",
+ "current_goal_text": "std.map2\n [global (const =C2=ABBuilders_18.=
HB_unnamed_factory_24=C2=BB), \n global (const =C2=ABBuilders_18.HB_unname=
d_factory_22=C2=BB), \n global (const =C2=ABBuilders_18.HB_unnamed_factory=
_20=C2=BB)] \n [indt =C2=ABIsSelfA.axioms_=C2=BB, indt =C2=ABHasB.axioms_=
=C2=BB, indt =C2=ABHasA.axioms_=C2=BB] \n (factory-provides.one [] c0) (X15=
4 c0)",
"current_goal_predicate": "std.map2",
"failed_attempts": [],
"successful_attempts": [
@@ -135705,8 +131407,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0=
A2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]=
) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -135739,13 +131440,11 @@
},
"siblings": [
{
- "goal_text":
- "factory-provides.one [] c0 \n (global (const =C2=ABBuil=
ders_18.HB_unnamed_factory_24=C2=BB)) \n (indt =C2=ABIsSelfA.axioms_=C2=BB)=
X173^1",
+ "goal_text": "factory-provides.one [] c0 \n (global (const=
=C2=ABBuilders_18.HB_unnamed_factory_24=C2=BB)) \n (indt =C2=ABIsSelfA.axi=
oms_=C2=BB) X173^1",
"goal_id": 1577
},
{
- "goal_text":
- "std.map2\n [global (const =C2=ABBuilders_18.HB_unnamed_=
factory_22=C2=BB), \n global (const =C2=ABBuilders_18.HB_unnamed_factory_2=
0=C2=BB)] \n [indt =C2=ABHasB.axioms_=C2=BB, indt =C2=ABHasA.axioms_=C2=BB]=
(factory-provides.one [] c0) \n X174^1",
+ "goal_text": "std.map2\n [global (const =C2=ABBuilders_18.=
HB_unnamed_factory_22=C2=BB), \n global (const =C2=ABBuilders_18.HB_unname=
d_factory_20=C2=BB)] \n [indt =C2=ABHasB.axioms_=C2=BB, indt =C2=ABHasA.axi=
oms_=C2=BB] (factory-provides.one [] c0) \n X174^1",
"goal_id": 1578
}
],
@@ -135758,8 +131457,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -135854,13 +131552,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -135952,13 +131648,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -135973,13 +131667,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -135994,13 +131686,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -136015,13 +131705,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -136093,13 +131781,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -136190,13 +131876,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -136230,13 +131914,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -136270,13 +131952,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -136291,13 +131971,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -136597,13 +132275,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -136622,8 +132298,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -136648,13 +132323,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -136669,8 +132342,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -136702,8 +132374,7 @@
"Inference",
{
"current_goal_id": 1577,
- "current_goal_text":
- "factory-provides.one [] c0 \n (global (const =C2=ABBuilders_18.=
HB_unnamed_factory_24=C2=BB)) \n (indt =C2=ABIsSelfA.axioms_=C2=BB) X173^1",
+ "current_goal_text": "factory-provides.one [] c0 \n (global (const=
=C2=ABBuilders_18.HB_unnamed_factory_24=C2=BB)) \n (indt =C2=ABIsSelfA.axi=
oms_=C2=BB) X173^1",
"current_goal_predicate": "factory-provides.one",
"failed_attempts": [],
"successful_attempts": [
@@ -136712,13 +132383,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) =
:- (std.do!\n [std=
.assert-ok!\n (c=
oq.typecheck\n =
A2 A5) \n Build=
er illtyped, \n (=
coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend =
on other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple =
A3 A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose paramet=
ers depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -136742,8 +132411,7 @@
},
"siblings": [
{
- "goal_text":
- "std.do!\n [std.assert-ok!\n (coq.typecheck (global (c=
onst =C2=ABBuilders_18.HB_unnamed_factory_24=C2=BB)) \n X176^1) Builder=
illtyped, \n (coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^=
1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n =
The conclusion of a builder is a mixin whose parameters depend on other m=
ixins]",
+ "goal_text": "std.do!\n [std.assert-ok!\n (coq.typecheck=
(global (const =C2=ABBuilders_18.HB_unnamed_factory_24=C2=BB)) \n X176=
^1) Builder illtyped, \n (coq.subst-prod [] X176^1 X177^1 , coq.subst-prod=
[c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 =
X175^1) \n The conclusion of a builder is a mixin whose parameters depend=
on other mixins]",
"goal_id": 1579
}
],
@@ -136756,13 +132424,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -136777,8 +132443,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -136873,13 +132538,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -136971,13 +132634,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -136992,13 +132653,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -137013,13 +132672,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -137034,13 +132691,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -137112,13 +132767,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -137209,13 +132862,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -137249,13 +132900,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -137289,13 +132938,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -137310,13 +132957,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -137616,13 +133261,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -137641,8 +133284,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -137667,13 +133309,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -137688,8 +133328,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -137721,8 +133360,7 @@
"Inference",
{
"current_goal_id": 1579,
- "current_goal_text":
- "std.do!\n [std.assert-ok!\n (coq.typecheck (global (const =C2=
=ABBuilders_18.HB_unnamed_factory_24=C2=BB)) \n X176^1) Builder illtype=
d, \n (coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1=
), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The co=
nclusion of a builder is a mixin whose parameters depend on other mixins]",
+ "current_goal_text": "std.do!\n [std.assert-ok!\n (coq.typecheck=
(global (const =C2=ABBuilders_18.HB_unnamed_factory_24=C2=BB)) \n X176=
^1) Builder illtyped, \n (coq.subst-prod [] X176^1 X177^1 , coq.subst-prod=
[c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 =
X175^1) \n The conclusion of a builder is a mixin whose parameters depend=
on other mixins]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -137731,8 +133369,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -137757,14 +133394,12 @@
},
"siblings": [
{
- "goal_text":
- "std.assert-ok!\n (coq.typecheck (global (const =C2=ABBu=
ilders_18.HB_unnamed_factory_24=C2=BB)) X176^1) \n Builder illtyped",
+ "goal_text": "std.assert-ok!\n (coq.typecheck (global (con=
st =C2=ABBuilders_18.HB_unnamed_factory_24=C2=BB)) X176^1) \n Builder illty=
ped",
"goal_id": 1580
},
{ "goal_text": "!", "goal_id": 1581 },
{
- "goal_text":
- "std.do!\n [(coq.subst-prod [] X176^1 X177^1 , coq.subst=
-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X1=
78^1 X175^1) \n The conclusion of a builder is a mixin whose parameters d=
epend on other mixins]",
+ "goal_text": "std.do!\n [(coq.subst-prod [] X176^1 X177^1 =
, coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-p=
arams c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose p=
arameters depend on other mixins]",
"goal_id": 1582
}
],
@@ -137796,13 +133431,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -137817,8 +133450,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -137913,13 +133545,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -138011,13 +133641,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -138032,13 +133660,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -138053,13 +133679,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -138074,13 +133698,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -138152,13 +133774,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -138249,13 +133869,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -138289,13 +133907,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -138329,13 +133945,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -138350,13 +133964,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -138656,13 +134268,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -138681,8 +134291,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -138707,13 +134316,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -138728,8 +134335,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -138761,8 +134367,7 @@
"Inference",
{
"current_goal_id": 1580,
- "current_goal_text":
- "std.assert-ok!\n (coq.typecheck (global (const =C2=ABBuilders_1=
8.HB_unnamed_factory_24=C2=BB)) X176^1) \n Builder illtyped",
+ "current_goal_text": "std.assert-ok!\n (coq.typecheck (global (con=
st =C2=ABBuilders_18.HB_unnamed_factory_24=C2=BB)) X176^1) \n Builder illty=
ped",
"current_goal_predicate": "std.assert-ok!",
"failed_attempts": [],
"successful_attempts": [
@@ -138771,8 +134376,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok=
; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n=
(A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -138794,14 +134398,12 @@
},
"siblings": [
{
- "goal_text":
- "coq.typecheck (global (const =C2=ABBuilders_18.HB_unnam=
ed_factory_24=C2=BB)) X176^1 \n X179^1",
+ "goal_text": "coq.typecheck (global (const =C2=ABBuilders_=
18.HB_unnamed_factory_24=C2=BB)) X176^1 \n X179^1",
"goal_id": 1583
},
{ "goal_text": "!", "goal_id": 1584 },
{
- "goal_text":
- "X179^1 =3D ok ;\n X179^1 =3D error X180^1 , std.fatal-e=
rror-w-data Builder illtyped X180^1",
+ "goal_text": "X179^1 =3D ok ;\n X179^1 =3D error X180^1 , =
std.fatal-error-w-data Builder illtyped X180^1",
"goal_id": 1585
},
{ "goal_text": "!", "goal_id": 1586 }
@@ -138815,8 +134417,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -138854,13 +134455,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -138875,8 +134474,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -138971,13 +134569,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -139069,13 +134665,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -139090,13 +134684,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -139111,13 +134703,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -139132,13 +134722,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -139210,13 +134798,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -139307,13 +134893,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -139347,13 +134931,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -139387,13 +134969,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -139408,13 +134988,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -139714,13 +135292,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -139739,8 +135315,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -139765,13 +135340,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -139786,8 +135359,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -139819,8 +135391,7 @@
"Inference",
{
"current_goal_id": 1583,
- "current_goal_text":
- "coq.typecheck (global (const =C2=ABBuilders_18.HB_unnamed_facto=
ry_24=C2=BB)) X176^1 \n X179^1",
+ "current_goal_text": "coq.typecheck (global (const =C2=ABBuilders_=
18.HB_unnamed_factory_24=C2=BB)) X176^1 \n X179^1",
"current_goal_predicate": "coq.typecheck",
"failed_attempts": [],
"successful_attempts": [
@@ -139831,8 +135402,7 @@
},
"siblings": [
{
- "goal_text":
- "X176^1 =3D\n prod `T` (sort (typ =C2=ABinterleave_conte=
xt.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =C2=ABIsSe=
lfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (indt =C2=AB=
IsSelfA.axioms_=C2=BB), c1, \n app [global (const =C2=ABBuilders_18.HB_=
unnamed_factory_20=C2=BB), c1, c2], \n app [global (const =C2=ABBuilder=
s_18.HB_unnamed_factory_22=C2=BB), c1, c2]]",
+ "goal_text": "X176^1 =3D\n prod `T` (sort (typ =C2=ABinter=
leave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const=
=C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (=
indt =C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (const =C2=ABBuil=
ders_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]",
"goal_id": 1587
},
{ "goal_text": "X179^1 =3D ok", "goal_id": 1588 }
@@ -139851,8 +135421,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -139890,13 +135459,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -139911,8 +135478,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -140007,13 +135573,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -140105,13 +135669,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -140126,13 +135688,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -140147,13 +135707,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -140168,13 +135726,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -140246,13 +135802,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -140343,13 +135897,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -140383,13 +135935,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -140423,13 +135973,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -140444,13 +135992,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -140750,13 +136296,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -140775,8 +136319,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -140801,13 +136344,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -140822,8 +136363,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -140855,8 +136395,7 @@
"Inference",
{
"current_goal_id": 1587,
- "current_goal_text":
- "X176^1 =3D\n prod `T` (sort (typ =C2=ABinterleave_context.396=
=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =C2=ABIsSelfA'.p=
hant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (indt =C2=ABIsSelf=
A.axioms_=C2=BB), c1, \n app [global (const =C2=ABBuilders_18.HB_unname=
d_factory_20=C2=BB), c1, c2], \n app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_22=C2=BB), c1, c2]]",
+ "current_goal_text": "X176^1 =3D\n prod `T` (sort (typ =C2=ABinter=
leave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const=
=C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (=
indt =C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (const =C2=ABBuil=
ders_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -140890,8 +136429,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -140929,13 +136467,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -140950,8 +136486,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -141046,13 +136581,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -141144,13 +136677,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -141165,13 +136696,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -141186,13 +136715,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -141207,13 +136734,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -141285,13 +136810,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -141382,13 +136905,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -141422,13 +136943,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -141462,13 +136981,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -141483,13 +137000,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -141789,13 +137304,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -141814,8 +137327,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -141840,13 +137352,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -141861,8 +137371,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -141923,8 +137432,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -141962,13 +137470,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -141983,8 +137489,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -142079,13 +137584,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -142177,13 +137680,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -142198,13 +137699,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -142219,13 +137718,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -142240,13 +137737,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -142318,13 +137813,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -142415,13 +137908,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -142455,13 +137946,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -142495,13 +137984,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -142516,13 +138003,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -142822,13 +138307,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -142847,8 +138330,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -142873,13 +138355,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -142894,8 +138374,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -142930,13 +138409,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "std.assert-ok!\n (coq.typecheck (global (const =C2=ABBuil=
ders_18.HB_unnamed_factory_24=C2=BB)) X176^1) \n Builder illtyped",
+ "goal_text": "std.assert-ok!\n (coq.typecheck (global (const=
=C2=ABBuilders_18.HB_unnamed_factory_24=C2=BB)) X176^1) \n Builder illtype=
d",
"goal_id": 1580
},
"cut_branch": {
- "rule_text":
- "(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no di=
agnostic returned).",
+ "rule_text": "(std.assert-ok! _ A0) :- (std.fatal-error-w-da=
ta A0 no diagnostic returned).",
"rule_loc": [
"File",
{
@@ -142960,8 +138437,7 @@
"Inference",
{
"current_goal_id": 1585,
- "current_goal_text":
- "ok =3D ok ; ok =3D error X180^1 , std.fatal-error-w-data Builde=
r illtyped X180^1",
+ "current_goal_text": "ok =3D ok ; ok =3D error X180^1 , std.fatal-=
error-w-data Builder illtyped X180^1",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -143013,8 +138489,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -143052,13 +138527,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -143073,8 +138546,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -143169,13 +138641,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -143267,13 +138737,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -143288,13 +138756,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -143309,13 +138775,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -143330,13 +138794,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -143408,13 +138870,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -143505,13 +138965,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -143545,13 +139003,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -143585,13 +139041,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -143606,13 +139060,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -143912,13 +139364,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -143937,8 +139387,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -143963,13 +139412,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -143984,8 +139431,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -144060,8 +139506,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -144099,13 +139544,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -144120,8 +139563,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -144216,13 +139658,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -144314,13 +139754,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -144335,13 +139773,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -144356,13 +139792,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -144377,13 +139811,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -144455,13 +139887,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -144552,13 +139982,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -144592,13 +140020,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -144632,13 +140058,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -144653,13 +140077,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -144959,13 +140381,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -144984,8 +140404,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -145010,13 +140429,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -145031,8 +140448,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -145067,8 +140483,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "X179^1 =3D ok ;\n X179^1 =3D error X180^1 , std.fatal-err=
or-w-data Builder illtyped X180^1",
+ "goal_text": "X179^1 =3D ok ;\n X179^1 =3D error X180^1 , st=
d.fatal-error-w-data Builder illtyped X180^1",
"goal_id": 1585
},
"cut_branch": {
@@ -145102,8 +140517,7 @@
"Inference",
{
"current_goal_id": 1582,
- "current_goal_text":
- "std.do!\n [(coq.subst-prod [] \n (prod `T` (sort (typ =C2=AB=
interleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` \n (=
app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) c2 \\\n a=
pp\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c1, \n app =
[global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n =
app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), =
c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert=
! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a bui=
lder is a mixin whose parameters depend on other mixins]",
+ "current_goal_text": "std.do!\n [(coq.subst-prod [] \n (prod `T=
` (sort (typ =C2=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_=
name_19` \n (app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c=
1]) c2 \\\n app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), =
c1, \n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=
=C2=BB), c1, c2], \n app [global (const =C2=ABBuilders_18.HB_unname=
d_factory_22=C2=BB), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X1=
78^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n Th=
e conclusion of a builder is a mixin whose parameters depend on other mixin=
s]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -145112,8 +140526,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -145138,14 +140551,12 @@
},
"siblings": [
{
- "goal_text":
- "coq.subst-prod [] \n (prod `T` (sort (typ =C2=ABinterle=
ave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =
=C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global=
(indt =C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (const =C2=ABB=
uilders_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app [global (cons=
t =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]) \n X177^1 , coq=
.subst-prod [c0] X177^1 X178^1",
+ "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ =
=C2=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [g=
lobal (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\=
n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (=
const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app =
[global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]) \n=
X177^1 , coq.subst-prod [c0] X177^1 X178^1",
"goal_id": 1590
},
{ "goal_text": "!", "goal_id": 1591 },
{
- "goal_text":
- "std.do!\n [std.assert! (extract-conclusion-params c0 X1=
78^1 X175^1) \n The conclusion of a builder is a mixin whose parameters d=
epend on other mixins]",
+ "goal_text": "std.do!\n [std.assert! (extract-conclusion-p=
arams c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose p=
arameters depend on other mixins]",
"goal_id": 1592
}
],
@@ -145196,13 +140607,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -145217,8 +140626,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -145313,13 +140721,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -145411,13 +140817,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -145432,13 +140836,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -145453,13 +140855,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -145474,13 +140874,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -145552,13 +140950,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -145649,13 +141045,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -145689,13 +141083,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -145729,13 +141121,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -145750,13 +141140,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -146056,13 +141444,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -146081,8 +141467,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -146107,13 +141492,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -146128,8 +141511,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -146161,8 +141543,7 @@
"Inference",
{
"current_goal_id": 1590,
- "current_goal_text":
- "coq.subst-prod [] \n (prod `T` (sort (typ =C2=ABinterleave_cont=
ext.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =C2=ABIs=
SelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (indt =
=C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (const =C2=ABBuilders=
_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]) \n X177^1 , coq.subs=
t-prod [c0] X177^1 X178^1",
+ "current_goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ =
=C2=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [g=
lobal (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\=
n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (=
const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app =
[global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]) \n=
X177^1 , coq.subst-prod [c0] X177^1 X178^1",
"current_goal_predicate": ",",
"failed_attempts": [],
"successful_attempts": [
@@ -146173,8 +141554,7 @@
},
"siblings": [
{
- "goal_text":
- "coq.subst-prod [] \n (prod `T` (sort (typ =C2=ABinterle=
ave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =
=C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global=
(indt =C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (const =C2=ABB=
uilders_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app [global (cons=
t =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]) \n X177^1",
+ "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ =
=C2=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [g=
lobal (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\=
n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (=
const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app =
[global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]) \n=
X177^1",
"goal_id": 1593
},
{
@@ -146234,13 +141614,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -146255,8 +141633,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -146351,13 +141728,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -146449,13 +141824,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -146470,13 +141843,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -146491,13 +141862,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -146512,13 +141881,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -146590,13 +141957,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -146687,13 +142052,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -146727,13 +142090,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -146767,13 +142128,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -146788,13 +142147,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -147094,13 +142451,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -147119,8 +142474,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -147145,13 +142499,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -147166,8 +142518,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -147199,8 +142550,7 @@
"Inference",
{
"current_goal_id": 1593,
- "current_goal_text":
- "coq.subst-prod [] \n (prod `T` (sort (typ =C2=ABinterleave_cont=
ext.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =C2=ABIs=
SelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (indt =
=C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (const =C2=ABBuilders=
_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]) \n X177^1",
+ "current_goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ =
=C2=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [g=
lobal (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\=
n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (=
const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app =
[global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]) \n=
X177^1",
"current_goal_predicate": "coq.subst-prod",
"failed_attempts": [],
"successful_attempts": [
@@ -147304,13 +142654,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -147325,8 +142673,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -147421,13 +142768,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -147519,13 +142864,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -147540,13 +142883,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -147561,13 +142902,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -147582,13 +142921,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -147660,13 +142997,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -147757,13 +143092,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -147797,13 +143130,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -147837,13 +143168,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -147858,13 +143187,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -148164,13 +143491,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -148189,8 +143514,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -148215,13 +143539,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -148236,8 +143558,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -148272,13 +143593,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "coq.subst-prod [] \n (prod `T` (sort (typ =C2=ABinterleav=
e_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =
=C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global=
(indt =C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (const =C2=ABB=
uilders_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app [global (cons=
t =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]) \n X177^1",
+ "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ =C2=
=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [glob=
al (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n =
[global (indt =C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (con=
st =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app [gl=
obal (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]) \n X1=
77^1",
"goal_id": 1593
},
"cut_branch": {
- "rule_text":
- "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.su=
bst-prod A0 (A2 A1) A3).",
+ "rule_text": "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!),=
\n (coq.subst-prod A0 (A2 A1) A3).",
"rule_loc": [
"File",
{
@@ -148302,8 +143621,7 @@
"Inference",
{
"current_goal_id": 1594,
- "current_goal_text":
- "coq.subst-prod [c0] \n (prod `T` (sort (typ =C2=ABinterleave_co=
ntext.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =C2=AB=
IsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (indt=
=C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (const =C2=ABBuilder=
s_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]) \n X178^1",
+ "current_goal_text": "coq.subst-prod [c0] \n (prod `T` (sort (typ =
=C2=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [g=
lobal (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\=
n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c1, \n app [global (=
const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c1, c2], \n app =
[global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c1, c2]]) \n=
X178^1",
"current_goal_predicate": "coq.subst-prod",
"failed_attempts": [],
"successful_attempts": [
@@ -148312,8 +143630,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \=
n (coq.subst-prod A1 (A2 A0) A3).",
+ "rule_text": "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3=
) :- (!), \n (coq.subst-prod A1 (A2 A0) A3).",
"rule_loc": [
"File",
{
@@ -148338,8 +143655,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1596 },
{
- "goal_text":
- "coq.subst-prod [] \n (prod `fresh_name_19` (app [global=
(const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n app\n [g=
lobal (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (c=
onst =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X178^1",
+ "goal_text": "coq.subst-prod [] \n (prod `fresh_name_19` (=
app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n =
app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global=
(const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app=
[global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \=
n X178^1",
"goal_id": 1597
}
],
@@ -148352,8 +143668,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n =
(coq.subst-prod A1 (A2 A0) A3).",
+ "rule_text": "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) =
:- (!), \n (coq.subst-prod A1 (A2 A0) A3).",
"rule_loc": [
"File",
{
@@ -148415,13 +143730,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -148436,8 +143749,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -148532,13 +143844,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -148630,13 +143940,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -148651,13 +143959,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -148672,13 +143978,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -148693,13 +143997,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -148771,13 +144073,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -148868,13 +144168,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -148908,13 +144206,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -148948,13 +144244,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -148969,13 +144263,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -149275,13 +144567,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -149300,8 +144590,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -149326,13 +144615,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -149347,8 +144634,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -149387,8 +144673,7 @@
"goal_id": 1594
},
"cut_branch": {
- "rule_text":
- "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.su=
bst-prod A0 (A2 A1) A3).",
+ "rule_text": "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!),=
\n (coq.subst-prod A0 (A2 A1) A3).",
"rule_loc": [
"File",
{
@@ -149406,8 +144691,7 @@
"goal_id": 1594
},
"cut_branch": {
- "rule_text":
- "(coq.subst-prod [_ | _] A0 _) :- (!), \n (std.fatal-error=
-w-data subst-prod: not a product A0).",
+ "rule_text": "(coq.subst-prod [_ | _] A0 _) :- (!), \n (std.=
fatal-error-w-data subst-prod: not a product A0).",
"rule_loc": [
"File",
{
@@ -149431,8 +144715,7 @@
"Inference",
{
"current_goal_id": 1597,
- "current_goal_text":
- "coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const =
=C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n app\n [global (i=
ndt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=ABBuild=
ers_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X178^1",
+ "current_goal_text": "coq.subst-prod [] \n (prod `fresh_name_19` (=
app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n =
app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global=
(const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app=
[global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \=
n X178^1",
"current_goal_predicate": "coq.subst-prod",
"failed_attempts": [],
"successful_attempts": [
@@ -149493,8 +144776,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n =
(coq.subst-prod A1 (A2 A0) A3).",
+ "rule_text": "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) =
:- (!), \n (coq.subst-prod A1 (A2 A0) A3).",
"rule_loc": [
"File",
{
@@ -149556,13 +144838,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -149577,8 +144857,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -149673,13 +144952,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -149771,13 +145048,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -149792,13 +145067,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -149813,13 +145086,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -149834,13 +145105,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -149912,13 +145181,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -150009,13 +145276,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -150049,13 +145314,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -150089,13 +145352,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -150110,13 +145371,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -150416,13 +145675,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -150441,8 +145698,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -150467,13 +145723,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -150488,8 +145742,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -150524,13 +145777,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "coq.subst-prod [] \n (prod `fresh_name_19` (app [global (=
const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n app\n [glo=
bal (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (c=
onst =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X178^1",
+ "goal_text": "coq.subst-prod [] \n (prod `fresh_name_19` (ap=
p [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n ap=
p\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (=
const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [=
global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n =
X178^1",
"goal_id": 1597
},
"cut_branch": {
- "rule_text":
- "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.su=
bst-prod A0 (A2 A1) A3).",
+ "rule_text": "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!),=
\n (coq.subst-prod A0 (A2 A1) A3).",
"rule_loc": [
"File",
{
@@ -150560,8 +145811,7 @@
"Inference",
{
"current_goal_id": 1592,
- "current_goal_text":
- "std.do!\n [std.assert!\n (extract-conclusion-params c0 \n =
(prod `fresh_name_19` \n (app [global (const =C2=ABIsSelfA'.phant_ax=
ioms=C2=BB), c0]) c1 \\\n app\n [global (indt =C2=ABIsSelfA.ax=
ioms_=C2=BB), c0, \n app [global (const =C2=ABBuilders_18.HB_unname=
d_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_=
18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1) \n The conclusi=
on of a builder is a mixin whose parameters depend on other mixins]",
+ "current_goal_text": "std.do!\n [std.assert!\n (extract-conclusi=
on-params c0 \n (prod `fresh_name_19` \n (app [global (const =C2=
=ABIsSelfA'.phant_axioms=C2=BB), c0]) c1 \\\n app\n [global (i=
ndt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=ABB=
uilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (c=
onst =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^=
1) \n The conclusion of a builder is a mixin whose parameters depend on o=
ther mixins]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -150570,8 +145820,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -150593,8 +145842,7 @@
},
"siblings": [
{
- "goal_text":
- "std.assert!\n (extract-conclusion-params c0 \n (prod =
`fresh_name_19` \n (app [global (const =C2=ABIsSelfA'.phant_axioms=C2=
=BB), c0]) c1 \\\n app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB=
), c0, \n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=
=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_=
factory_22=C2=BB), c0, c1]]) \n X175^1) \n The conclusion of a builder is=
a mixin whose parameters depend on other mixins",
+ "goal_text": "std.assert!\n (extract-conclusion-params c0 =
\n (prod `fresh_name_19` \n (app [global (const =C2=ABIsSelfA'.phant_=
axioms=C2=BB), c0]) c1 \\\n app\n [global (indt =C2=ABIsSelfA.axio=
ms_=C2=BB), c0, \n app [global (const =C2=ABBuilders_18.HB_unnamed_fa=
ctory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB_=
unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1) \n The conclusion of a bu=
ilder is a mixin whose parameters depend on other mixins",
"goal_id": 1599
},
{ "goal_text": "!", "goal_id": 1600 },
@@ -150666,13 +145914,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -150687,8 +145933,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -150783,13 +146028,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -150881,13 +146124,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -150902,13 +146143,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -150923,13 +146162,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -150944,13 +146181,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -151022,13 +146257,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -151119,13 +146352,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -151159,13 +146390,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -151199,13 +146428,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -151220,13 +146447,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -151526,13 +146751,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -151551,8 +146774,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -151577,13 +146799,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -151598,8 +146818,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -151631,8 +146850,7 @@
"Inference",
{
"current_goal_id": 1599,
- "current_goal_text":
- "std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_n=
ame_19` \n (app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0])=
c1 \\\n app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n =
app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0=
, c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=
=C2=BB), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin w=
hose parameters depend on other mixins",
+ "current_goal_text": "std.assert!\n (extract-conclusion-params c0 =
\n (prod `fresh_name_19` \n (app [global (const =C2=ABIsSelfA'.phant_=
axioms=C2=BB), c0]) c1 \\\n app\n [global (indt =C2=ABIsSelfA.axio=
ms_=C2=BB), c0, \n app [global (const =C2=ABBuilders_18.HB_unnamed_fa=
ctory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB_=
unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1) \n The conclusion of a bu=
ilder is a mixin whose parameters depend on other mixins",
"current_goal_predicate": "std.assert!",
"failed_attempts": [],
"successful_attempts": [
@@ -151641,8 +146859,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A=
1 A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-err=
or-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -151667,8 +146884,7 @@
},
"siblings": [
{
- "goal_text":
- "extract-conclusion-params c0 \n (prod `fresh_name_19` (=
app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n =
app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global=
(const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app=
[global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \=
n X175^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mix=
in whose parameters depend on other mixins \n (extract-conclusion-params c=
0 \n (prod `fresh_name_19` \n (app [global (const =C2=ABIsSelfA'.ph=
ant_axioms=C2=BB), c0]) c1 \\\n app\n [global (indt =C2=ABIsSelf=
A.axioms_=C2=BB), c0, \n app [global (const =C2=ABBuilders_18.HB_unn=
amed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilder=
s_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1)",
+ "goal_text": "extract-conclusion-params c0 \n (prod `fresh=
_name_19` (app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n =
c1 \\\n app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n =
app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1],=
\n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), =
c0, c1]]) \n X175^1 ;\n std.fatal-error-w-data\n The conclusion of a build=
er is a mixin whose parameters depend on other mixins \n (extract-conclusi=
on-params c0 \n (prod `fresh_name_19` \n (app [global (const =C2=AB=
IsSelfA'.phant_axioms=C2=BB), c0]) c1 \\\n app\n [global (indt =
=C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=ABBuilde=
rs_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1)",
"goal_id": 1602
},
{ "goal_text": "!", "goal_id": 1603 }
@@ -151682,8 +146898,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -151759,13 +146974,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -151780,8 +146993,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -151876,13 +147088,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -151974,13 +147184,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -151995,13 +147203,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -152016,13 +147222,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -152037,13 +147241,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -152115,13 +147317,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -152212,13 +147412,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -152252,13 +147450,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -152292,13 +147488,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -152313,13 +147507,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -152619,13 +147811,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -152644,8 +147834,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -152670,13 +147859,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -152691,8 +147878,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -152724,8 +147910,7 @@
"Inference",
{
"current_goal_id": 1602,
- "current_goal_text":
- "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [glo=
bal (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n app\n =
[global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global=
(const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1=
;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose=
parameters depend on other mixins \n (extract-conclusion-params c0 \n =
(prod `fresh_name_19` \n (app [global (const =C2=ABIsSelfA'.phant_axio=
ms=C2=BB), c0]) c1 \\\n app\n [global (indt =C2=ABIsSelfA.axioms=
_=C2=BB), c0, \n app [global (const =C2=ABBuilders_18.HB_unnamed_fac=
tory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB_=
unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1)",
+ "current_goal_text": "extract-conclusion-params c0 \n (prod `fresh=
_name_19` (app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n =
c1 \\\n app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n =
app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1],=
\n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), =
c0, c1]]) \n X175^1 ;\n std.fatal-error-w-data\n The conclusion of a build=
er is a mixin whose parameters depend on other mixins \n (extract-conclusi=
on-params c0 \n (prod `fresh_name_19` \n (app [global (const =C2=AB=
IsSelfA'.phant_axioms=C2=BB), c0]) c1 \\\n app\n [global (indt =
=C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=ABBuilde=
rs_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1)",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -152755,8 +147940,7 @@
},
"siblings": [
{
- "goal_text":
- "extract-conclusion-params c0 \n (prod `fresh_name_19` (=
app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n =
app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global=
(const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app=
[global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \=
n X175^1",
+ "goal_text": "extract-conclusion-params c0 \n (prod `fresh=
_name_19` (app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n =
c1 \\\n app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n =
app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1],=
\n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), =
c0, c1]]) \n X175^1",
"goal_id": 1604
}
],
@@ -152788,8 +147972,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -152865,13 +148048,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -152886,8 +148067,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -152982,13 +148162,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -153080,13 +148258,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -153101,13 +148277,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -153122,13 +148296,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -153143,13 +148315,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -153221,13 +148391,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -153318,13 +148486,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -153358,13 +148524,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -153398,13 +148562,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -153419,13 +148581,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -153725,13 +148885,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -153750,8 +148908,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -153776,13 +148933,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -153797,8 +148952,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -153830,8 +148984,7 @@
"Inference",
{
"current_goal_id": 1604,
- "current_goal_text":
- "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [glo=
bal (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n app\n =
[global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global=
(const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1=
",
+ "current_goal_text": "extract-conclusion-params c0 \n (prod `fresh=
_name_19` (app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n =
c1 \\\n app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n =
app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1],=
\n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), =
c0, c1]]) \n X175^1",
"current_goal_predicate": "extract-conclusion-params",
"failed_attempts": [],
"successful_attempts": [
@@ -153840,13 +148993,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (=
!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A=
3))).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A=
2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A=
0 (A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -153870,8 +149021,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1605 },
{
- "goal_text":
- "pi c1 \\\n decl c1 _ (app [global (const =C2=ABIsSelfA'=
.phant_axioms=C2=BB), c0]) =3D>\n extract-conclusion-params c0 \n (app\n=
[global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (c=
onst =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [=
global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n =
X175^1",
+ "goal_text": "pi c1 \\\n decl c1 _ (app [global (const =C2=
=ABIsSelfA'.phant_axioms=C2=BB), c0]) =3D>\n extract-conclusion-params c0 =
\n (app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app=
[global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n=
app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0=
, c1]]) \n X175^1",
"goal_id": 1606
}
],
@@ -153884,13 +149034,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -153924,8 +149072,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -154001,13 +149148,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -154022,8 +149167,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -154118,13 +149262,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -154216,13 +149358,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -154237,13 +149377,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -154258,13 +149396,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -154279,13 +149415,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -154357,13 +149491,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -154454,13 +149586,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -154494,13 +149624,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -154534,13 +149662,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -154555,13 +149681,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -154861,13 +149985,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -154886,8 +150008,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -154912,13 +150033,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -154933,8 +150052,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -154969,18 +150087,15 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "extract-conclusion-params c0 \n (prod `fresh_name_19` (ap=
p [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n ap=
p\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (=
const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [=
global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n =
X175^1",
+ "goal_text": "extract-conclusion-params c0 \n (prod `fresh_n=
ame_19` (app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c=
1 \\\n app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n ap=
p [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \=
n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0=
, c1]]) \n X175^1",
"goal_id": 1604
},
"cut_branch": {
- "rule_text":
- "(extract-conclusion-params A0 (app [global A1 | A2]) A3) =
:- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.ma=
p A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3)).",
+ "rule_text": "(extract-conclusion-params A0 (app [global A1 =
| A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5),=
\n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/data=
base.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/c=
ommon/database.elpi",
"line": 117,
"column": 0,
"character": 4090
@@ -154990,18 +150105,15 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "extract-conclusion-params c0 \n (prod `fresh_name_19` (ap=
p [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n ap=
p\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (=
const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [=
global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n =
X175^1",
+ "goal_text": "extract-conclusion-params c0 \n (prod `fresh_n=
ame_19` (app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c=
1 \\\n app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n ap=
p [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \=
n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0=
, c1]]) \n X175^1",
"goal_id": 1604
},
"cut_branch": {
- "rule_text":
- "(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!)=
, \n (extract-conclusion-params A0 A3 A2).",
+ "rule_text": "(extract-conclusion-params A0 A1 A2) :- (whd1 =
A1 A3), (!), \n (extract-conclusion-params A0 A3 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/data=
base.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/c=
ommon/database.elpi",
"line": 122,
"column": 0,
"character": 4303
@@ -155021,8 +150133,7 @@
"Inference",
{
"current_goal_id": 1606,
- "current_goal_text":
- "pi c1 \\\n decl c1 _ (app [global (const =C2=ABIsSelfA'.phant_a=
xioms=C2=BB), c0]) =3D>\n extract-conclusion-params c0 \n (app\n [gl=
obal (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (=
const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1=
",
+ "current_goal_text": "pi c1 \\\n decl c1 _ (app [global (const =C2=
=ABIsSelfA'.phant_axioms=C2=BB), c0]) =3D>\n extract-conclusion-params c0 =
\n (app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app=
[global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n=
app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0=
, c1]]) \n X175^1",
"current_goal_predicate": "pi",
"failed_attempts": [],
"successful_attempts": [
@@ -155033,8 +150144,7 @@
},
"siblings": [
{
- "goal_text":
- "decl c1 _ (app [global (const =C2=ABIsSelfA'.phant_axio=
ms=C2=BB), c0]) =3D>\n extract-conclusion-params c0 \n (app\n [global (=
indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=ABBuil=
ders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1",
+ "goal_text": "decl c1 _ (app [global (const =C2=ABIsSelfA'=
.phant_axioms=C2=BB), c0]) =3D>\n extract-conclusion-params c0 \n (app\n =
[global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const=
=C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [globa=
l (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175=
^1",
"goal_id": 1607
}
],
@@ -155052,13 +150162,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -155092,8 +150200,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -155169,13 +150276,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -155190,8 +150295,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -155286,13 +150390,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -155384,13 +150486,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -155405,13 +150505,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -155426,13 +150524,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -155447,13 +150543,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -155525,13 +150619,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -155622,13 +150714,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -155662,13 +150752,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -155702,13 +150790,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -155723,13 +150809,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -156029,13 +151113,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -156054,8 +151136,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -156080,13 +151161,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -156101,8 +151180,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -156134,8 +151212,7 @@
"Inference",
{
"current_goal_id": 1607,
- "current_goal_text":
- "decl c1 _ (app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB=
), c0]) =3D>\n extract-conclusion-params c0 \n (app\n [global (indt =C2=
=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=ABBuilders_18.=
HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuil=
ders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1",
+ "current_goal_text": "decl c1 _ (app [global (const =C2=ABIsSelfA'=
.phant_axioms=C2=BB), c0]) =3D>\n extract-conclusion-params c0 \n (app\n =
[global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const=
=C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [globa=
l (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175=
^1",
"current_goal_predicate": "=3D>",
"failed_attempts": [],
"successful_attempts": [
@@ -156146,8 +151223,7 @@
},
"siblings": [
{
- "goal_text":
- "extract-conclusion-params c0 \n (app\n [global (indt =
=C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=ABBuilders_1=
8.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBui=
lders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1",
+ "goal_text": "extract-conclusion-params c0 \n (app\n [gl=
obal (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (co=
nst =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1",
"goal_id": 1608
}
],
@@ -156170,13 +151246,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -156210,8 +151284,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -156287,13 +151360,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -156308,8 +151379,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -156404,13 +151474,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -156502,13 +151570,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -156523,13 +151589,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -156544,13 +151608,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -156565,13 +151627,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -156643,13 +151703,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -156740,13 +151798,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -156780,13 +151836,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -156820,13 +151874,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -156841,13 +151893,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -157147,13 +152197,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -157172,8 +152220,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -157198,13 +152245,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -157219,8 +152264,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -157252,21 +152296,18 @@
"Inference",
{
"current_goal_id": 1608,
- "current_goal_text":
- "extract-conclusion-params c0 \n (app\n [global (indt =C2=ABIs=
SelfA.axioms_=C2=BB), c0, \n app [global (const =C2=ABBuilders_18.HB_unn=
amed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_18=
.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1",
+ "current_goal_text": "extract-conclusion-params c0 \n (app\n [gl=
obal (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (co=
nst =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1",
"current_goal_predicate": "extract-conclusion-params",
"failed_attempts": [
{
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (app [global A1 | A2]) A3=
) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.=
map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3)).",
+ "rule_text": "(extract-conclusion-params A0 (app [global A=
1 | A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5=
), \n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 117,
"column": 0,
"character": 4090
@@ -157291,13 +152332,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (=
!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A=
3))).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A=
2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A=
0 (A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -157316,8 +152355,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1609 },
{
- "goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA.axioms_=C2=BB) =
X181^2",
+ "goal_text": "factory-alias->gref (indt =C2=ABIsSelfA.axio=
ms_=C2=BB) X181^2",
"goal_id": 1610
},
{
@@ -157325,8 +152363,7 @@
"goal_id": 1611
},
{
- "goal_text":
- "std.map\n [c0, app [global (const =C2=ABBuilders_18.HB_=
unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_1=
8.HB_unnamed_factory_22=C2=BB), c0, c1]] \n (copy-pack-holes c0) X183^2",
+ "goal_text": "std.map\n [c0, app [global (const =C2=ABBuil=
ders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]] \n (copy-pack-holes c=
0) X183^2",
"goal_id": 1612
},
{
@@ -157343,13 +152380,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -157374,13 +152409,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -157414,8 +152447,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -157491,13 +152523,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -157512,8 +152542,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -157608,13 +152637,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -157706,13 +152733,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -157727,13 +152752,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -157748,13 +152771,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -157769,13 +152790,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -157847,13 +152866,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -157944,13 +152961,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -157984,13 +152999,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -158024,13 +153037,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -158045,13 +153056,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -158351,13 +153360,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -158376,8 +153383,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -158402,13 +153408,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -158423,8 +153427,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -158459,18 +153462,15 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "extract-conclusion-params c0 \n (app\n [global (indt =
=C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=ABBuilders_1=
8.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBui=
lders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1",
+ "goal_text": "extract-conclusion-params c0 \n (app\n [glob=
al (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=ABB=
uilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1",
"goal_id": 1608
},
"cut_branch": {
- "rule_text":
- "(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!)=
, \n (extract-conclusion-params A0 A3 A2).",
+ "rule_text": "(extract-conclusion-params A0 A1 A2) :- (whd1 =
A1 A3), (!), \n (extract-conclusion-params A0 A3 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/data=
base.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/c=
ommon/database.elpi",
"line": 122,
"column": 0,
"character": 4303
@@ -158490,8 +153490,7 @@
"Inference",
{
"current_goal_id": 1610,
- "current_goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA.axioms_=C2=BB) X181^2",
+ "current_goal_text": "factory-alias->gref (indt =C2=ABIsSelfA.axio=
ms_=C2=BB) X181^2",
"current_goal_predicate": "factory-alias->gref",
"failed_attempts": [],
"successful_attempts": [
@@ -158500,13 +153499,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _)=
, (!).",
+ "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbr=
ev A1 A0 _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 74,
"column": 0,
"character": 2385
@@ -158521,8 +153518,7 @@
},
"siblings": [
{
- "goal_text":
- "phant-abbrev X181^2 (indt =C2=ABIsSelfA.axioms_=C2=BB) =
_",
+ "goal_text": "phant-abbrev X181^2 (indt =C2=ABIsSelfA.axio=
ms_=C2=BB) _",
"goal_id": 1614
},
{ "goal_text": "!", "goal_id": 1615 }
@@ -158536,13 +153532,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), =
(!).",
+ "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev=
A1 A0 _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 74,
"column": 0,
"character": 2385
@@ -158557,13 +153551,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -158588,13 +153580,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -158628,8 +153618,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -158705,13 +153694,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -158726,8 +153713,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -158822,13 +153808,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -158920,13 +153904,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -158941,13 +153923,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -158962,13 +153942,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -158983,13 +153961,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -159061,13 +154037,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -159158,13 +154132,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -159198,13 +154170,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -159238,13 +154208,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -159259,13 +154227,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -159565,13 +154531,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -159590,8 +154554,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -159616,13 +154579,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -159637,8 +154598,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -159670,16 +154630,14 @@
"Inference",
{
"current_goal_id": 1614,
- "current_goal_text":
- "phant-abbrev X181^2 (indt =C2=ABIsSelfA.axioms_=C2=BB) _",
+ "current_goal_text": "phant-abbrev X181^2 (indt =C2=ABIsSelfA.axio=
ms_=C2=BB) _",
"current_goal_predicate": "phant-abbrev",
"failed_attempts": [
{
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB=
) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -159703,8 +154661,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABHasA.Axioms_=C2=BB) (const =
=C2=ABHasA.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasA.Build=C2=BB=
) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABHasA.Axioms_=C2=BB=
) (const =C2=ABHasA.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasA.Bu=
ild=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -159728,8 +154685,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB) (const =
=C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB=
) (const =C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -159753,8 +154709,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABHasB.Axioms_=C2=BB) (const =
=C2=ABHasB.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasB.Build=C2=BB=
) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABHasB.Axioms_=C2=BB=
) (const =C2=ABHasB.phant_Build=C2=BB) \n =C2=ABinterleave_context.HasB.Bu=
ild=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -159778,8 +154733,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=BB) (const=
=C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA.axi=
oms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=
=BB) (const =C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.=
IsSelfA.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -159803,8 +154757,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABIsSelfA.Axioms_=C2=BB) (const=
=C2=ABIsSelfA.phant_Build=C2=BB) \n =C2=ABinterleave_context.IsSelfA.Buil=
d=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABIsSelfA.Axioms_=C2=
=BB) (const =C2=ABIsSelfA.phant_Build=C2=BB) \n =C2=ABinterleave_context.I=
sSelfA.Build=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -159828,8 +154781,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=C2=BB) (cons=
t =C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA'.=
axioms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) (const =C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_cont=
ext.IsSelfA'.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -159853,8 +154805,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indc =C2=ABIsSelfA'.Axioms_=C2=BB) (cons=
t =C2=ABIsSelfA'.phant_Build=C2=BB) \n =C2=ABinterleave_context.IsSelfA'.B=
uild=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indc =C2=ABIsSelfA'.Axioms_=
=C2=BB) (const =C2=ABIsSelfA'.phant_Build=C2=BB) \n =C2=ABinterleave_conte=
xt.IsSelfA'.Build=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -159882,8 +154833,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB=
) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -159902,13 +154852,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), =
(!).",
+ "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev=
A1 A0 _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 74,
"column": 0,
"character": 2385
@@ -159923,13 +154871,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -159954,13 +154900,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -159994,8 +154938,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -160071,13 +155014,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -160092,8 +155033,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -160188,13 +155128,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -160286,13 +155224,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -160307,13 +155243,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -160328,13 +155262,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -160349,13 +155281,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -160427,13 +155357,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -160524,13 +155452,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -160564,13 +155490,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -160604,13 +155528,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -160625,13 +155547,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -160931,13 +155851,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -160956,8 +155874,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -160982,13 +155899,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -161003,8 +155918,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -161036,8 +155950,7 @@
"Inference",
{
"current_goal_id": 1610,
- "current_goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA.axioms_=C2=BB) X181^2",
+ "current_goal_text": "factory-alias->gref (indt =C2=ABIsSelfA.axio=
ms_=C2=BB) X181^2",
"current_goal_predicate": "factory-alias->gref",
"failed_attempts": [],
"successful_attempts": [
@@ -161046,13 +155959,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _),=
(!).",
+ "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbr=
ev A0 _ _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 75,
"column": 0,
"character": 2443
@@ -161081,13 +155992,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (=
!).",
+ "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev=
A0 _ _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 75,
"column": 0,
"character": 2443
@@ -161102,13 +156011,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -161133,13 +156040,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -161173,8 +156078,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -161250,13 +156154,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -161271,8 +156173,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -161367,13 +156268,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -161465,13 +156364,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -161486,13 +156383,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -161507,13 +156402,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -161528,13 +156421,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -161606,13 +156497,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -161703,13 +156592,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -161743,13 +156630,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -161783,13 +156668,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -161804,13 +156687,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -162110,13 +156991,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -162135,8 +157014,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -162161,13 +157039,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -162182,8 +157058,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -162222,8 +157097,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB) (const =
=C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasB.axioms_=C2=BB=
) (const =C2=ABHasB.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasB.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -162246,8 +157120,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=BB) (const=
=C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA.axi=
oms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA.axioms_=C2=
=BB) (const =C2=ABIsSelfA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.=
IsSelfA.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -162268,8 +157141,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=
=BB) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.Has=
A.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -162298,8 +157170,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB) (const =
=C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.axioms=C2=
=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABHasA.axioms_=C2=BB=
) (const =C2=ABHasA.phant_axioms=C2=BB) \n =C2=ABinterleave_context.HasA.a=
xioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -162318,13 +157189,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (=
!).",
+ "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev=
A0 _ _), (!).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 75,
"column": 0,
"character": 2443
@@ -162339,13 +157208,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -162370,13 +157237,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -162410,8 +157275,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -162487,13 +157351,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -162508,8 +157370,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -162604,13 +157465,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -162702,13 +157561,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -162723,13 +157580,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -162744,13 +157599,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -162765,13 +157618,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -162843,13 +157694,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -162940,13 +157789,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -162980,13 +157827,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -163020,13 +157865,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -163041,13 +157884,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -163347,13 +158188,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -163372,8 +158211,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -163398,13 +158236,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -163419,8 +158255,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -163459,8 +158294,7 @@
"goal_id": 1616
},
"cut_branch": {
- "rule_text":
- "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=C2=BB) (const =
=C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_context.IsSelfA'.ax=
ioms=C2=BB) :- .",
+ "rule_text": "(phant-abbrev (indt =C2=ABIsSelfA'.axioms_=C2=
=BB) (const =C2=ABIsSelfA'.phant_axioms=C2=BB) \n =C2=ABinterleave_context=
.IsSelfA'.axioms=C2=BB) :- .",
"rule_loc": [
"File",
{
@@ -163474,13 +158308,11 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA.axioms_=C2=BB) X1=
81^2",
+ "goal_text": "factory-alias->gref (indt =C2=ABIsSelfA.axioms=
_=C2=BB) X181^2",
"goal_id": 1610
},
"cut_branch": {
- "rule_text":
- "(factory-alias->gref (indt =C2=ABA.axioms_=C2=BB) (indt =
=C2=ABA.axioms_=C2=BB)) :- .",
+ "rule_text": "(factory-alias->gref (indt =C2=ABA.axioms_=C2=
=BB) (indt =C2=ABA.axioms_=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -163494,13 +158326,11 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA.axioms_=C2=BB) X1=
81^2",
+ "goal_text": "factory-alias->gref (indt =C2=ABIsSelfA.axioms=
_=C2=BB) X181^2",
"goal_id": 1610
},
"cut_branch": {
- "rule_text":
- "(factory-alias->gref (indt =C2=ABB.axioms_=C2=BB) (indt =
=C2=ABB.axioms_=C2=BB)) :- .",
+ "rule_text": "(factory-alias->gref (indt =C2=ABB.axioms_=C2=
=BB) (indt =C2=ABB.axioms_=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -163514,13 +158344,11 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "factory-alias->gref (indt =C2=ABIsSelfA.axioms_=C2=BB) X1=
81^2",
+ "goal_text": "factory-alias->gref (indt =C2=ABIsSelfA.axioms=
_=C2=BB) X181^2",
"goal_id": 1610
},
"cut_branch": {
- "rule_text":
- "(factory-alias->gref (indt =C2=ABSelfA.axioms_=C2=BB) (in=
dt =C2=ABSelfA.axioms_=C2=BB)) :- .",
+ "rule_text": "(factory-alias->gref (indt =C2=ABSelfA.axioms_=
=C2=BB) (indt =C2=ABSelfA.axioms_=C2=BB)) :- .",
"rule_loc": [
"File",
{
@@ -163544,8 +158372,7 @@
"Inference",
{
"current_goal_id": 1611,
- "current_goal_text":
- "factory-nparams (indt =C2=ABIsSelfA.axioms_=C2=BB) X182^2",
+ "current_goal_text": "factory-nparams (indt =C2=ABIsSelfA.axioms_=
=C2=BB) X182^2",
"current_goal_predicate": "factory-nparams",
"failed_attempts": [
{
@@ -163575,8 +158402,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-nparams (indt =C2=ABHasB.axioms_=C2=BB) 1) :- =
.",
+ "rule_text": "(factory-nparams (indt =C2=ABHasB.axioms_=C2=
=BB) 1) :- .",
"rule_loc": [
"File",
{
@@ -163622,8 +158448,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-nparams (indt =C2=ABIsSelfA.axioms_=C2=BB) 0) =
:- .",
+ "rule_text": "(factory-nparams (indt =C2=ABIsSelfA.axioms_=
=C2=BB) 0) :- .",
"rule_loc": [
"File",
{
@@ -163644,8 +158469,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-nparams (indt =C2=ABHasA.axioms_=C2=BB) 1) :=
- .",
+ "rule_text": "(factory-nparams (indt =C2=ABHasA.axioms_=
=C2=BB) 1) :- .",
"rule_loc": [
"File",
{
@@ -163674,8 +158498,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-nparams (indt =C2=ABHasA.axioms_=C2=BB) 1) :- =
.",
+ "rule_text": "(factory-nparams (indt =C2=ABHasA.axioms_=C2=
=BB) 1) :- .",
"rule_loc": [
"File",
{
@@ -163694,13 +158517,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -163725,13 +158546,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -163765,8 +158584,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -163842,13 +158660,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -163863,8 +158679,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -163959,13 +158774,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -164057,13 +158870,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -164078,13 +158889,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -164099,13 +158908,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -164120,13 +158927,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -164198,13 +159003,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -164295,13 +159098,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -164335,13 +159136,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -164375,13 +159174,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -164396,13 +159193,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -164702,13 +159497,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -164727,8 +159520,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -164753,13 +159545,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -164774,8 +159564,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -164807,8 +159596,7 @@
"Inference",
{
"current_goal_id": 1612,
- "current_goal_text":
- "std.map\n [c0, app [global (const =C2=ABBuilders_18.HB_unnamed_=
factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB_unn=
amed_factory_22=C2=BB), c0, c1]] \n (copy-pack-holes c0) X183^2",
+ "current_goal_text": "std.map\n [c0, app [global (const =C2=ABBuil=
ders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]] \n (copy-pack-holes c=
0) X183^2",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -164817,8 +159605,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -164846,8 +159633,7 @@
"goal_id": 1618
},
{
- "goal_text":
- "std.map\n [app [global (const =C2=ABBuilders_18.HB_unna=
med_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB=
_unnamed_factory_22=C2=BB), c0, c1]] \n (copy-pack-holes c0) X185^2",
+ "goal_text": "std.map\n [app [global (const =C2=ABBuilders=
_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBui=
lders_18.HB_unnamed_factory_22=C2=BB), c0, c1]] \n (copy-pack-holes c0) X18=
5^2",
"goal_id": 1619
}
],
@@ -164860,8 +159646,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -164880,13 +159665,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -164911,13 +159694,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -164951,8 +159732,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -165028,13 +159808,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -165049,8 +159827,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -165145,13 +159922,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -165243,13 +160018,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -165264,13 +160037,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -165285,13 +160056,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -165306,13 +160075,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -165384,13 +160151,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -165481,13 +160246,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -165521,13 +160284,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -165561,13 +160322,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -165582,13 +160341,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -165888,13 +160645,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -165913,8 +160668,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -165939,13 +160693,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -165960,8 +160712,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -166002,13 +160753,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonica=
l A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 =
\\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c=
1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy=
A0 A5) \n (std.map c3 copy c4) \n (std.rev=
[global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-loc=
al-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n=
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [gl=
obal c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 |=
c3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1)))))))))))))=
| A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
utils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -166032,8 +160781,7 @@
"goal_id": 1621
},
{
- "goal_text":
- "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n =
pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c=
7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0=
X188^2) \n (std.map c5 copy c6) \n (std.rev [global (const=
=C2=ABelpi.hole=C2=BB), X188^2 | c6] c3) | X187^2]\n =3D> copy c0 X184^2",
+ "goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c=
5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (ap=
p [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5=
]) (copy c0 X188^2) \n (std.map c5 copy c6) \n (std.rev [gl=
obal (const =C2=ABelpi.hole=C2=BB), X188^2 | c6] c3) | X187^2]\n =3D> copy =
c0 X184^2",
"goal_id": 1622
}
],
@@ -166046,13 +160794,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -166067,8 +160813,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -166087,13 +160832,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -166118,13 +160861,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -166158,8 +160899,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -166235,13 +160975,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -166256,8 +160994,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -166352,13 +161089,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -166450,13 +161185,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -166471,13 +161204,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -166492,13 +161223,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -166513,13 +161242,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -166591,13 +161318,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -166688,13 +161413,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -166728,13 +161451,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -166768,13 +161489,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -166789,13 +161508,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -167095,13 +161812,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -167120,8 +161835,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -167146,13 +161860,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -167167,8 +161879,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -167209,13 +161920,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-c=
anonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.finda=
ll (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -167244,13 +161953,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-can=
onical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.findall=
(local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -167265,13 +161972,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -167286,8 +161991,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -167306,13 +162010,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -167337,13 +162039,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -167377,8 +162077,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -167454,13 +162153,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -167475,8 +162172,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -167571,13 +162267,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -167669,13 +162363,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -167690,13 +162382,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -167711,13 +162401,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -167732,13 +162420,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -167810,13 +162496,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -167907,13 +162591,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -167947,13 +162629,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -167987,13 +162667,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -168008,13 +162686,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -168314,13 +162990,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -168339,8 +163013,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -168365,13 +163038,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -168386,8 +163057,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -168428,8 +163098,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.findall A0 A1) :- (findall_solutions A0 A1).",
+ "rule_text": "(std.findall A0 A1) :- (findall_solutions =
A0 A1).",
"rule_loc": [
"File",
{
@@ -168448,8 +163117,7 @@
},
"siblings": [
{
- "goal_text":
- "findall_solutions (local-canonical X189^2) X190^2",
+ "goal_text": "findall_solutions (local-canonical X189^2) X=
190^2",
"goal_id": 1625
}
],
@@ -168462,8 +163130,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.findall A0 A1) :- (findall_solutions A0 A1).",
+ "rule_text": "(std.findall A0 A1) :- (findall_solutions A0=
A1).",
"rule_loc": [
"File",
{
@@ -168482,13 +163149,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-can=
onical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.findall=
(local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -168503,13 +163168,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -168524,8 +163187,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -168544,13 +163206,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -168575,13 +163235,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -168615,8 +163273,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -168692,13 +163349,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -168713,8 +163368,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -168809,13 +163463,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -168907,13 +163559,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -168928,13 +163578,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -168949,13 +163597,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -168970,13 +163616,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -169048,13 +163692,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -169145,13 +163787,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -169185,13 +163825,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -169225,13 +163863,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -169246,13 +163882,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -169552,13 +164186,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -169577,8 +164209,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -169603,13 +164234,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -169624,8 +164253,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -169657,8 +164285,7 @@
"Findall",
{
"findall_goal_id": 1625,
- "findall_goal_text":
- "findall_solutions (local-canonical X189^2) X190^2",
+ "findall_goal_text": "findall_solutions (local-canonical X189^2) X=
190^2",
"findall_cards": [
{
"step_id": 0,
@@ -169698,8 +164325,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.findall A0 A1) :- (findall_solutions A0 A1).",
+ "rule_text": "(std.findall A0 A1) :- (findall_solutions A0=
A1).",
"rule_loc": [
"File",
{
@@ -169718,13 +164344,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-can=
onical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.findall=
(local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -169739,13 +164363,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -169760,8 +164382,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -169780,13 +164401,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -169811,13 +164430,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -169851,8 +164468,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -169928,13 +164544,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -169949,8 +164563,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -170045,13 +164658,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -170143,13 +164754,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -170164,13 +164773,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -170185,13 +164792,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -170206,13 +164811,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -170284,13 +164887,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -170381,13 +164982,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -170421,13 +165020,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -170461,13 +165058,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -170482,13 +165077,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -170788,13 +165381,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -170813,8 +165404,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -170839,13 +165429,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -170860,8 +165448,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -170945,13 +165532,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-can=
onical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.findall=
(local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -170966,13 +165551,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -170987,8 +165570,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -171007,13 +165589,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -171038,13 +165618,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -171078,8 +165656,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -171155,13 +165732,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -171176,8 +165751,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -171272,13 +165846,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -171370,13 +165942,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -171391,13 +165961,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -171412,13 +165980,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -171433,13 +165999,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -171511,13 +166075,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -171608,13 +166170,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -171648,13 +166208,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -171688,13 +166246,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -171709,13 +166265,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -172015,13 +166569,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -172040,8 +166592,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -172066,13 +166617,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -172087,8 +166636,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -172133,8 +166681,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
stdpp.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/stdpp.elpi",
"line": 196,
"column": 0,
"character": 7411
@@ -172158,8 +166705,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/st=
dpp.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/stdpp.elpi",
"line": 196,
"column": 0,
"character": 7411
@@ -172174,13 +166720,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -172195,8 +166739,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -172215,13 +166758,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -172246,13 +166787,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -172286,8 +166825,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -172363,13 +166901,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -172384,8 +166920,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -172480,13 +167015,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -172578,13 +167111,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -172599,13 +167130,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -172620,13 +167149,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -172641,13 +167168,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -172719,13 +167244,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -172816,13 +167339,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -172856,13 +167377,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -172896,13 +167415,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -172917,13 +167434,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -173223,13 +167738,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -173248,8 +167761,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -173274,13 +167786,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -173295,8 +167805,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -173328,8 +167837,7 @@
"Inference",
{
"current_goal_id": 1622,
- "current_goal_text":
- "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\=
\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3])=
:-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X188^2)=
\n (std.map c5 copy c6) \n (std.rev [global (const =C2=ABe=
lpi.hole=C2=BB), X188^2 | c6] c3)] =3D>\n copy c0 X184^2",
+ "current_goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c=
5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (ap=
p [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5=
]) (copy c0 X188^2) \n (std.map c5 copy c6) \n (std.rev [gl=
obal (const =C2=ABelpi.hole=C2=BB), X188^2 | c6] c3)] =3D>\n copy c0 X184^2=
",
"current_goal_predicate": "=3D>",
"failed_attempts": [],
"successful_attempts": [
@@ -173355,13 +167863,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -173376,8 +167882,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -173396,13 +167901,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -173427,13 +167930,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -173467,8 +167968,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -173544,13 +168044,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -173565,8 +168063,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -173661,13 +168158,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -173759,13 +168254,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -173780,13 +168273,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -173801,13 +168292,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -173822,13 +168311,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -173900,13 +168387,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -173997,13 +168482,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -174037,13 +168520,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -174077,13 +168558,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -174098,13 +168577,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -174404,13 +168881,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -174429,8 +168904,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -174455,13 +168929,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -174476,8 +168948,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -174518,8 +168989,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1=
), (!).",
"rule_loc": [
"File",
{
@@ -174532,8 +169002,7 @@
}
],
"events": [
- [ "Assign", "A0 :=3D c0" ],
- [ "Assign", "A1 :=3D X184^2" ]
+ [ "Assign", "A0 :=3D c0" ], [ "Assign", "A1 :=3D X184^2" ]
]
},
"siblings": [
@@ -174551,8 +169020,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -174576,13 +169044,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -174597,8 +169063,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -174617,13 +169082,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -174648,13 +169111,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -174688,8 +169149,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -174765,13 +169225,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -174786,8 +169244,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -174882,13 +169339,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -174980,13 +169435,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -175001,13 +169454,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -175022,13 +169473,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -175043,13 +169492,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -175121,13 +169568,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -175218,13 +169663,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -175258,13 +169701,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -175298,13 +169739,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -175319,13 +169758,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -175625,13 +170062,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -175650,8 +170085,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -175676,13 +170110,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -175697,8 +170129,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -175754,8 +170185,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -175779,13 +170209,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -175800,8 +170228,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -175820,13 +170247,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -175851,13 +170276,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -175891,8 +170314,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -175968,13 +170390,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -175989,8 +170409,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -176085,13 +170504,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -176183,13 +170600,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -176204,13 +170619,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -176225,13 +170638,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -176246,13 +170657,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -176324,13 +170733,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -176421,13 +170828,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -176461,13 +170866,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -176501,13 +170904,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -176522,13 +170923,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -176828,13 +171227,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -176853,8 +171250,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -176879,13 +171275,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -176900,8 +171294,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -176962,8 +171355,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -176987,13 +171379,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -177008,8 +171398,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -177028,13 +171417,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -177059,13 +171446,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -177099,8 +171484,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -177176,13 +171560,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -177197,8 +171579,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -177293,13 +171674,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -177391,13 +171770,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -177412,13 +171789,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -177433,13 +171808,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -177454,13 +171827,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -177532,13 +171903,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -177629,13 +171998,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -177669,13 +172036,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -177709,13 +172074,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -177730,13 +172093,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -178036,13 +172397,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -178061,8 +172420,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -178087,13 +172445,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -178108,8 +172464,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -178171,8 +172526,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -178196,13 +172550,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -178217,8 +172569,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -178237,13 +172588,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -178268,13 +172617,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -178308,8 +172655,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -178385,13 +172731,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -178406,8 +172750,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -178502,13 +172845,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -178600,13 +172941,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -178621,13 +172960,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -178642,13 +172979,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -178663,13 +172998,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -178741,13 +173074,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -178838,13 +173169,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -178878,13 +173207,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -178918,13 +173245,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -178939,13 +173264,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -179245,13 +173568,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -179270,8 +173591,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -179296,13 +173616,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -179317,8 +173635,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -179356,8 +173673,7 @@
"Inference",
{
"current_goal_id": 1619,
- "current_goal_text":
- "std.map\n [app [global (const =C2=ABBuilders_18.HB_unnamed_fact=
ory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed=
_factory_22=C2=BB), c0, c1]] \n (copy-pack-holes c0) X185^2",
+ "current_goal_text": "std.map\n [app [global (const =C2=ABBuilders=
_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBui=
lders_18.HB_unnamed_factory_22=C2=BB), c0, c1]] \n (copy-pack-holes c0) X18=
5^2",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -179366,8 +173682,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -179394,13 +173709,11 @@
},
"siblings": [
{
- "goal_text":
- "copy-pack-holes c0 \n (app [global (const =C2=ABBuilder=
s_18.HB_unnamed_factory_20=C2=BB), c0, c1]) X191^2",
+ "goal_text": "copy-pack-holes c0 \n (app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1]) X191^2",
"goal_id": 1634
},
{
- "goal_text":
- "std.map [app [global (const =C2=ABBuilders_18.HB_unname=
d_factory_22=C2=BB), c0, c1]] \n (copy-pack-holes c0) X192^2",
+ "goal_text": "std.map [app [global (const =C2=ABBuilders_1=
8.HB_unnamed_factory_22=C2=BB), c0, c1]] \n (copy-pack-holes c0) X192^2",
"goal_id": 1635
}
],
@@ -179413,8 +173726,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -179433,8 +173745,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -179453,13 +173764,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -179484,13 +173793,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -179524,8 +173831,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -179601,13 +173907,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -179622,8 +173926,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -179718,13 +174021,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -179816,13 +174117,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -179837,13 +174136,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -179858,13 +174155,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -179879,13 +174174,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -179957,13 +174250,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -180054,13 +174345,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -180094,13 +174383,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -180134,13 +174421,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -180155,13 +174440,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -180461,13 +174744,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -180486,8 +174767,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -180512,13 +174792,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -180533,8 +174811,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -180566,8 +174843,7 @@
"Inference",
{
"current_goal_id": 1634,
- "current_goal_text":
- "copy-pack-holes c0 \n (app [global (const =C2=ABBuilders_18.HB_=
unnamed_factory_20=C2=BB), c0, c1]) X191^2",
+ "current_goal_text": "copy-pack-holes c0 \n (app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1]) X191^2",
"current_goal_predicate": "copy-pack-holes",
"failed_attempts": [],
"successful_attempts": [
@@ -180576,13 +174852,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonica=
l A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 =
\\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c=
1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy=
A0 A5) \n (std.map c3 copy c4) \n (std.rev=
[global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-loc=
al-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n=
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [gl=
obal c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 |=
c3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1)))))))))))))=
| A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
utils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -180609,8 +174883,7 @@
"goal_id": 1637
},
{
- "goal_text":
- "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n =
pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c=
7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0=
X195^2) \n (std.map c5 copy c6) \n (std.rev [global (const=
=C2=ABelpi.hole=C2=BB), X195^2 | c6] c3) | X194^2]\n =3D>\n copy (app [glo=
bal (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1]) \n X19=
1^2",
+ "goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c=
5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (ap=
p [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5=
]) (copy c0 X195^2) \n (std.map c5 copy c6) \n (std.rev [gl=
obal (const =C2=ABelpi.hole=C2=BB), X195^2 | c6] c3) | X194^2]\n =3D>\n cop=
y (app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c=
1]) \n X191^2",
"goal_id": 1638
}
],
@@ -180623,13 +174896,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -180644,8 +174915,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -180664,8 +174934,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -180684,13 +174953,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -180715,13 +174982,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -180755,8 +175020,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -180832,13 +175096,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -180853,8 +175115,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -180949,13 +175210,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -181047,13 +175306,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -181068,13 +175325,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -181089,13 +175344,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -181110,13 +175363,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -181188,13 +175439,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -181285,13 +175534,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -181325,13 +175572,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -181365,13 +175610,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -181386,13 +175629,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -181692,13 +175933,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -181717,8 +175956,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -181743,13 +175981,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -181764,8 +176000,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -181806,13 +176041,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-c=
anonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.finda=
ll (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -181841,13 +176074,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-can=
onical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.findall=
(local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -181862,13 +176093,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -181883,8 +176112,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -181903,8 +176131,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -181923,13 +176150,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -181954,13 +176179,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -181994,8 +176217,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -182071,13 +176293,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -182092,8 +176312,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -182188,13 +176407,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -182286,13 +176503,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -182307,13 +176522,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -182328,13 +176541,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -182349,13 +176560,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -182427,13 +176636,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -182524,13 +176731,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -182564,13 +176769,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -182604,13 +176807,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -182625,13 +176826,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -182931,13 +177130,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -182956,8 +177153,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -182982,13 +177178,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -183003,8 +177197,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -183045,8 +177238,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.findall A0 A1) :- (findall_solutions A0 A1).",
+ "rule_text": "(std.findall A0 A1) :- (findall_solutions =
A0 A1).",
"rule_loc": [
"File",
{
@@ -183065,8 +177257,7 @@
},
"siblings": [
{
- "goal_text":
- "findall_solutions (local-canonical X196^2) X197^2",
+ "goal_text": "findall_solutions (local-canonical X196^2) X=
197^2",
"goal_id": 1641
}
],
@@ -183079,8 +177270,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.findall A0 A1) :- (findall_solutions A0 A1).",
+ "rule_text": "(std.findall A0 A1) :- (findall_solutions A0=
A1).",
"rule_loc": [
"File",
{
@@ -183099,13 +177289,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-can=
onical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.findall=
(local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -183120,13 +177308,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -183141,8 +177327,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -183161,8 +177346,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -183181,13 +177365,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -183212,13 +177394,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -183252,8 +177432,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -183329,13 +177508,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -183350,8 +177527,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -183446,13 +177622,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -183544,13 +177718,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -183565,13 +177737,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -183586,13 +177756,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -183607,13 +177775,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -183685,13 +177851,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -183782,13 +177946,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -183822,13 +177984,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -183862,13 +178022,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -183883,13 +178041,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -184189,13 +178345,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -184214,8 +178368,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -184240,13 +178393,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -184261,8 +178412,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -184294,8 +178444,7 @@
"Findall",
{
"findall_goal_id": 1641,
- "findall_goal_text":
- "findall_solutions (local-canonical X196^2) X197^2",
+ "findall_goal_text": "findall_solutions (local-canonical X196^2) X=
197^2",
"findall_cards": [
{
"step_id": 0,
@@ -184335,8 +178484,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.findall A0 A1) :- (findall_solutions A0 A1).",
+ "rule_text": "(std.findall A0 A1) :- (findall_solutions A0=
A1).",
"rule_loc": [
"File",
{
@@ -184355,13 +178503,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-can=
onical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.findall=
(local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -184376,13 +178522,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -184397,8 +178541,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -184417,8 +178560,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -184437,13 +178579,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -184468,13 +178608,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -184508,8 +178646,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -184585,13 +178722,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -184606,8 +178741,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -184702,13 +178836,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -184800,13 +178932,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -184821,13 +178951,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -184842,13 +178970,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -184863,13 +178989,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -184941,13 +179065,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -185038,13 +179160,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -185078,13 +179198,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -185118,13 +179236,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -185139,13 +179255,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -185445,13 +179559,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -185470,8 +179582,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -185496,13 +179607,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -185517,8 +179626,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -185602,13 +179710,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-can=
onical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.findall=
(local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -185623,13 +179729,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -185644,8 +179748,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -185664,8 +179767,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -185684,13 +179786,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -185715,13 +179815,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -185755,8 +179853,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -185832,13 +179929,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -185853,8 +179948,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -185949,13 +180043,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -186047,13 +180139,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -186068,13 +180158,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -186089,13 +180177,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -186110,13 +180196,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -186188,13 +180272,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -186285,13 +180367,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -186325,13 +180405,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -186365,13 +180443,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -186386,13 +180462,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -186692,13 +180766,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -186717,8 +180789,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -186743,13 +180814,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -186764,8 +180833,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -186810,8 +180878,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
stdpp.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/stdpp.elpi",
"line": 196,
"column": 0,
"character": 7411
@@ -186835,8 +180902,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/st=
dpp.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/stdpp.elpi",
"line": 196,
"column": 0,
"character": 7411
@@ -186851,13 +180917,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -186872,8 +180936,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -186892,8 +180955,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -186912,13 +180974,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -186943,13 +181003,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -186983,8 +181041,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -187060,13 +181117,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -187081,8 +181136,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -187177,13 +181231,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -187275,13 +181327,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -187296,13 +181346,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -187317,13 +181365,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -187338,13 +181384,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -187416,13 +181460,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -187513,13 +181555,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -187553,13 +181593,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -187593,13 +181631,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -187614,13 +181650,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -187920,13 +181954,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -187945,8 +181977,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -187971,13 +182002,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -187992,8 +182021,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -188025,8 +182053,7 @@
"Inference",
{
"current_goal_id": 1638,
- "current_goal_text":
- "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\=
\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3])=
:-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X195^2)=
\n (std.map c5 copy c6) \n (std.rev [global (const =C2=ABe=
lpi.hole=C2=BB), X195^2 | c6] c3)] =3D>\n copy (app [global (const =C2=ABBu=
ilders_18.HB_unnamed_factory_20=C2=BB), c0, c1]) \n X191^2",
+ "current_goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c=
5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (ap=
p [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5=
]) (copy c0 X195^2) \n (std.map c5 copy c6) \n (std.rev [gl=
obal (const =C2=ABelpi.hole=C2=BB), X195^2 | c6] c3)] =3D>\n copy (app [glo=
bal (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1]) \n X19=
1^2",
"current_goal_predicate": "=3D>",
"failed_attempts": [],
"successful_attempts": [
@@ -188037,8 +182064,7 @@
},
"siblings": [
{
- "goal_text":
- "copy (app [global (const =C2=ABBuilders_18.HB_unnamed_f=
actory_20=C2=BB), c0, c1]) \n X191^2",
+ "goal_text": "copy (app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_20=C2=BB), c0, c1]) \n X191^2",
"goal_id": 1644
}
],
@@ -188056,13 +182082,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -188077,8 +182101,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -188097,8 +182120,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -188117,13 +182139,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -188148,13 +182168,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -188188,8 +182206,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -188265,13 +182282,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -188286,8 +182301,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -188382,13 +182396,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -188480,13 +182492,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -188501,13 +182511,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -188522,13 +182530,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -188543,13 +182549,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -188621,13 +182625,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -188718,13 +182720,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -188758,13 +182758,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -188798,13 +182796,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -188819,13 +182815,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -189125,13 +183119,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -189150,8 +183142,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -189176,13 +183167,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -189197,8 +183186,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -189230,8 +183218,7 @@
"Inference",
{
"current_goal_id": 1644,
- "current_goal_text":
- "copy (app [global (const =C2=ABBuilders_18.HB_unnamed_factory_2=
0=C2=BB), c0, c1]) \n X191^2",
+ "current_goal_text": "copy (app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_20=C2=BB), c0, c1]) \n X191^2",
"current_goal_predicate": "copy",
"failed_attempts": [],
"successful_attempts": [
@@ -189240,8 +183227,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app [global A5 | A0]) (app [global A5 | A1])) =
:- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X195^2), (std=
.map A3 copy A4), \n (std.rev [global (const =C2=ABelpi.hole=C2=BB), X195^2=
| A4] A1).",
+ "rule_text": "(copy (app [global A5 | A0]) (app [global =
A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X1=
95^2), (std.map A3 copy A4), \n (std.rev [global (const =C2=ABelpi.hole=C2=
=BB), X195^2 | A4] A1).",
"rule_loc": [ "Context", 451 ]
}
],
@@ -189259,8 +183245,7 @@
},
"siblings": [
{
- "goal_text":
- "pack? (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=
=BB) _",
+ "goal_text": "pack? (const =C2=ABBuilders_18.HB_unnamed_fa=
ctory_20=C2=BB) _",
"goal_id": 1645
},
{ "goal_text": "!", "goal_id": 1646 },
@@ -189271,8 +183256,7 @@
{ "goal_text": "copy c0 X195^2", "goal_id": 1648 },
{ "goal_text": "std.map X200^2 copy X201^2", "goal_id": 1649=
},
{
- "goal_text":
- "std.rev [global (const =C2=ABelpi.hole=C2=BB), X195^2 |=
X201^2] X198^2",
+ "goal_text": "std.rev [global (const =C2=ABelpi.hole=C2=BB=
), X195^2 | X201^2] X198^2",
"goal_id": 1650
}
],
@@ -189285,8 +183269,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app [global A5 | A0]) (app [global A5 | A1])) :-=
(pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X195^2), (std.m=
ap A3 copy A4), \n (std.rev [global (const =C2=ABelpi.hole=C2=BB), X195^2 |=
A4] A1).",
+ "rule_text": "(copy (app [global A5 | A0]) (app [global A5=
| A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X195=
^2), (std.map A3 copy A4), \n (std.rev [global (const =C2=ABelpi.hole=C2=BB=
), X195^2 | A4] A1).",
"rule_loc": [ "Context", 451 ]
}
],
@@ -189302,13 +183285,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -189323,8 +183304,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -189343,8 +183323,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -189363,13 +183342,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -189394,13 +183371,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -189434,8 +183409,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -189511,13 +183485,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -189532,8 +183504,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -189628,13 +183599,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -189726,13 +183695,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -189747,13 +183714,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -189768,13 +183733,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -189789,13 +183752,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -189867,13 +183828,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -189964,13 +183923,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -190004,13 +183961,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -190044,13 +183999,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -190065,13 +184018,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -190371,13 +184322,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -190396,8 +184345,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -190422,13 +184370,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -190443,8 +184389,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -190476,8 +184421,7 @@
"Inference",
{
"current_goal_id": 1645,
- "current_goal_text":
- "pack? (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB) _",
+ "current_goal_text": "pack? (const =C2=ABBuilders_18.HB_unnamed_fa=
ctory_20=C2=BB) _",
"current_goal_predicate": "pack?",
"failed_attempts": [],
"successful_attempts": [],
@@ -190487,8 +184431,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app [global A5 | A0]) (app [global A5 | A1])) :-=
(pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X195^2), (std.m=
ap A3 copy A4), \n (std.rev [global (const =C2=ABelpi.hole=C2=BB), X195^2 |=
A4] A1).",
+ "rule_text": "(copy (app [global A5 | A0]) (app [global A5=
| A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X195=
^2), (std.map A3 copy A4), \n (std.rev [global (const =C2=ABelpi.hole=C2=BB=
), X195^2 | A4] A1).",
"rule_loc": [ "Context", 451 ]
}
],
@@ -190504,13 +184447,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -190525,8 +184466,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -190545,8 +184485,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -190565,13 +184504,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -190596,13 +184533,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -190636,8 +184571,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -190713,13 +184647,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -190734,8 +184666,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -190830,13 +184761,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -190928,13 +184857,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -190949,13 +184876,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -190970,13 +184895,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -190991,13 +184914,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -191069,13 +184990,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -191166,13 +185085,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -191206,13 +185123,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -191246,13 +185161,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -191267,13 +185180,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -191573,13 +185484,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -191598,8 +185507,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -191624,13 +185532,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -191645,8 +185551,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -191678,8 +185583,7 @@
"Inference",
{
"current_goal_id": 1644,
- "current_goal_text":
- "copy (app [global (const =C2=ABBuilders_18.HB_unnamed_factory_2=
0=C2=BB), c0, c1]) \n X191^2",
+ "current_goal_text": "copy (app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_20=C2=BB), c0, c1]) \n X191^2",
"current_goal_predicate": "copy",
"failed_attempts": [],
"successful_attempts": [
@@ -191688,8 +185592,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1=
), (!).",
"rule_loc": [
"File",
{
@@ -191711,14 +185614,12 @@
},
"siblings": [
{
- "goal_text":
- "name (app [global (const =C2=ABBuilders_18.HB_unnamed_f=
actory_20=C2=BB), c0, c1])",
+ "goal_text": "name (app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_20=C2=BB), c0, c1])",
"goal_id": 1651
},
{ "goal_text": "!", "goal_id": 1652 },
{
- "goal_text":
- "app [global (const =C2=ABBuilders_18.HB_unnamed_factory=
_20=C2=BB), c0, c1] =3D X191^2",
+ "goal_text": "app [global (const =C2=ABBuilders_18.HB_unna=
med_factory_20=C2=BB), c0, c1] =3D X191^2",
"goal_id": 1653
},
{ "goal_text": "!", "goal_id": 1654 }
@@ -191732,8 +185633,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -191757,13 +185657,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -191778,8 +185676,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -191798,8 +185695,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -191818,13 +185714,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -191849,13 +185743,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -191889,8 +185781,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -191966,13 +185857,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -191987,8 +185876,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -192083,13 +185971,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -192181,13 +186067,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -192202,13 +186086,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -192223,13 +186105,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -192244,13 +186124,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -192322,13 +186200,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -192419,13 +186295,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -192459,13 +186333,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -192499,13 +186371,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -192520,13 +186390,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -192826,13 +186694,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -192851,8 +186717,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -192877,13 +186742,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -192898,8 +186761,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -192931,8 +186793,7 @@
"Inference",
{
"current_goal_id": 1651,
- "current_goal_text":
- "name (app [global (const =C2=ABBuilders_18.HB_unnamed_factory_2=
0=C2=BB), c0, c1])",
+ "current_goal_text": "name (app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_20=C2=BB), c0, c1])",
"current_goal_predicate": "name",
"failed_attempts": [
{ "rule": [ "BuiltinRule", [ "FFI", "name" ] ], "events": [] }
@@ -192949,8 +186810,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -192974,13 +186834,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -192995,8 +186853,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -193015,8 +186872,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -193035,13 +186891,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -193066,13 +186920,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -193106,8 +186958,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -193183,13 +187034,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -193204,8 +187053,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -193300,13 +187148,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -193398,13 +187244,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -193419,13 +187263,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -193440,13 +187282,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -193461,13 +187301,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -193539,13 +187377,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -193636,13 +187472,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -193676,13 +187510,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -193716,13 +187548,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -193737,13 +187567,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -194043,13 +187871,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -194068,8 +187894,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -194094,13 +187919,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -194115,8 +187938,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -194148,8 +187970,7 @@
"Inference",
{
"current_goal_id": 1644,
- "current_goal_text":
- "copy (app [global (const =C2=ABBuilders_18.HB_unnamed_factory_2=
0=C2=BB), c0, c1]) \n X191^2",
+ "current_goal_text": "copy (app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_20=C2=BB), c0, c1]) \n X191^2",
"current_goal_predicate": "copy",
"failed_attempts": [],
"successful_attempts": [
@@ -194158,8 +187979,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1)=
.",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map =
A0 copy A1).",
"rule_loc": [
"File",
{
@@ -194182,8 +188002,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1655 },
{
- "goal_text":
- "std.map [global (const =C2=ABBuilders_18.HB_unnamed_fac=
tory_20=C2=BB), c0, c1] copy \n X202^2",
+ "goal_text": "std.map [global (const =C2=ABBuilders_18.HB_=
unnamed_factory_20=C2=BB), c0, c1] copy \n X202^2",
"goal_id": 1656
}
],
@@ -194196,8 +188015,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -194221,13 +188039,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -194242,8 +188058,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -194262,8 +188077,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -194282,13 +188096,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -194313,13 +188125,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -194353,8 +188163,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -194430,13 +188239,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -194451,8 +188258,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -194547,13 +188353,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -194645,13 +188449,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -194666,13 +188468,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -194687,13 +188487,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -194708,13 +188506,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -194786,13 +188582,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -194883,13 +188677,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -194923,13 +188715,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -194963,13 +188753,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -194984,13 +188772,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -195290,13 +189076,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -195315,8 +189099,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -195341,13 +189124,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -195362,8 +189143,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -195401,8 +189181,7 @@
"Inference",
{
"current_goal_id": 1656,
- "current_goal_text":
- "std.map [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=
=C2=BB), c0, c1] copy \n X202^2",
+ "current_goal_text": "std.map [global (const =C2=ABBuilders_18.HB_=
unnamed_factory_20=C2=BB), c0, c1] copy \n X202^2",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -195411,8 +189190,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -195436,8 +189214,7 @@
},
"siblings": [
{
- "goal_text":
- "copy (global (const =C2=ABBuilders_18.HB_unnamed_factor=
y_20=C2=BB)) X203^2",
+ "goal_text": "copy (global (const =C2=ABBuilders_18.HB_unn=
amed_factory_20=C2=BB)) X203^2",
"goal_id": 1657
},
{
@@ -195454,8 +189231,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -195474,8 +189250,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -195499,13 +189274,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -195520,8 +189293,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -195540,8 +189312,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -195560,13 +189331,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -195591,13 +189360,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -195631,8 +189398,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -195708,13 +189474,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -195729,8 +189493,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -195825,13 +189588,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -195923,13 +189684,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -195944,13 +189703,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -195965,13 +189722,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -195986,13 +189741,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -196064,13 +189817,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -196161,13 +189912,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -196201,13 +189950,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -196241,13 +189988,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -196262,13 +190007,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -196568,13 +190311,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -196593,8 +190334,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -196619,13 +190359,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -196640,8 +190378,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -196673,8 +190410,7 @@
"Inference",
{
"current_goal_id": 1657,
- "current_goal_text":
- "copy (global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=
=BB)) X203^2",
+ "current_goal_text": "copy (global (const =C2=ABBuilders_18.HB_unn=
amed_factory_20=C2=BB)) X203^2",
"current_goal_predicate": "copy",
"failed_attempts": [],
"successful_attempts": [
@@ -196683,8 +190419,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1=
), (!).",
"rule_loc": [
"File",
{
@@ -196706,14 +190441,12 @@
},
"siblings": [
{
- "goal_text":
- "name (global (const =C2=ABBuilders_18.HB_unnamed_factor=
y_20=C2=BB))",
+ "goal_text": "name (global (const =C2=ABBuilders_18.HB_unn=
amed_factory_20=C2=BB))",
"goal_id": 1659
},
{ "goal_text": "!", "goal_id": 1660 },
{
- "goal_text":
- "global (const =C2=ABBuilders_18.HB_unnamed_factory_20=
=C2=BB) =3D X203^2",
+ "goal_text": "global (const =C2=ABBuilders_18.HB_unnamed_f=
actory_20=C2=BB) =3D X203^2",
"goal_id": 1661
},
{ "goal_text": "!", "goal_id": 1662 }
@@ -196727,8 +190460,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -196747,8 +190479,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -196767,8 +190498,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -196792,13 +190522,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -196813,8 +190541,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -196833,8 +190560,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -196853,13 +190579,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -196884,13 +190608,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -196924,8 +190646,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -197001,13 +190722,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -197022,8 +190741,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -197118,13 +190836,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -197216,13 +190932,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -197237,13 +190951,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -197258,13 +190970,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -197279,13 +190989,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -197357,13 +191065,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -197454,13 +191160,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -197494,13 +191198,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -197534,13 +191236,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -197555,13 +191255,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -197861,13 +191559,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -197886,8 +191582,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -197912,13 +191607,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -197933,8 +191626,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -197966,8 +191658,7 @@
"Inference",
{
"current_goal_id": 1659,
- "current_goal_text":
- "name (global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=
=BB))",
+ "current_goal_text": "name (global (const =C2=ABBuilders_18.HB_unn=
amed_factory_20=C2=BB))",
"current_goal_predicate": "name",
"failed_attempts": [
{ "rule": [ "BuiltinRule", [ "FFI", "name" ] ], "events": [] }
@@ -197984,8 +191675,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -198004,8 +191694,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -198024,8 +191713,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -198049,13 +191737,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -198070,8 +191756,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -198090,8 +191775,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -198110,13 +191794,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -198141,13 +191823,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -198181,8 +191861,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -198258,13 +191937,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -198279,8 +191956,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -198375,13 +192051,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -198473,13 +192147,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -198494,13 +192166,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -198515,13 +192185,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -198536,13 +192204,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -198614,13 +192280,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -198711,13 +192375,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -198751,13 +192413,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -198791,13 +192451,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -198812,13 +192470,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -199118,13 +192774,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -199143,8 +192797,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -199169,13 +192822,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -199190,8 +192841,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -199223,8 +192873,7 @@
"Inference",
{
"current_goal_id": 1657,
- "current_goal_text":
- "copy (global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=
=BB)) X203^2",
+ "current_goal_text": "copy (global (const =C2=ABBuilders_18.HB_unn=
amed_factory_20=C2=BB)) X203^2",
"current_goal_predicate": "copy",
"failed_attempts": [],
"successful_attempts": [
@@ -199285,8 +192934,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -199305,8 +192953,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -199330,13 +192977,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -199351,8 +192996,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -199371,8 +193015,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -199391,13 +193034,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -199422,13 +193063,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -199462,8 +193101,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -199539,13 +193177,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -199560,8 +193196,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -199656,13 +193291,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -199754,13 +193387,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -199775,13 +193406,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -199796,13 +193425,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -199817,13 +193444,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -199895,13 +193520,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -199992,13 +193615,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -200032,13 +193653,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -200072,13 +193691,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -200093,13 +193710,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -200399,13 +194014,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -200424,8 +194037,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -200450,13 +194062,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -200471,8 +194081,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -200519,8 +194128,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -200552,8 +194160,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -200572,8 +194179,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -200592,8 +194198,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -200617,13 +194222,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -200638,8 +194241,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -200658,8 +194260,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -200678,13 +194279,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -200709,13 +194308,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -200749,8 +194346,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -200826,13 +194422,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -200847,8 +194441,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -200943,13 +194536,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -201041,13 +194632,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -201062,13 +194651,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -201083,13 +194670,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -201104,13 +194689,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -201182,13 +194765,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -201279,13 +194860,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -201319,13 +194898,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -201359,13 +194936,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -201380,13 +194955,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -201686,13 +195259,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -201711,8 +195282,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -201737,13 +195307,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -201758,8 +195326,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -201800,8 +195367,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1=
), (!).",
"rule_loc": [
"File",
{
@@ -201814,8 +195380,7 @@
}
],
"events": [
- [ "Assign", "A0 :=3D c0" ],
- [ "Assign", "A1 :=3D X205^2" ]
+ [ "Assign", "A0 :=3D c0" ], [ "Assign", "A1 :=3D X205^2" ]
]
},
"siblings": [
@@ -201833,8 +195398,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -201853,8 +195417,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -201873,8 +195436,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -201893,8 +195455,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -201918,13 +195479,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -201939,8 +195498,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -201959,8 +195517,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -201979,13 +195536,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -202010,13 +195565,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -202050,8 +195603,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -202127,13 +195679,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -202148,8 +195698,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -202244,13 +195793,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -202342,13 +195889,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -202363,13 +195908,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -202384,13 +195927,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -202405,13 +195946,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -202483,13 +196022,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -202580,13 +196117,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -202620,13 +196155,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -202660,13 +196193,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -202681,13 +196212,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -202987,13 +196516,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -203012,8 +196539,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -203038,13 +196564,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -203059,8 +196583,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -203116,8 +196639,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -203136,8 +196658,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -203156,8 +196677,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -203176,8 +196696,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -203201,13 +196720,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -203222,8 +196739,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -203242,8 +196758,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -203262,13 +196777,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -203293,13 +196806,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -203333,8 +196844,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -203410,13 +196920,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -203431,8 +196939,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -203527,13 +197034,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -203625,13 +197130,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -203646,13 +197149,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -203667,13 +197168,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -203688,13 +197187,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -203766,13 +197263,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -203863,13 +197358,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -203903,13 +197396,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -203943,13 +197434,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -203964,13 +197453,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -204270,13 +197757,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -204295,8 +197780,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -204321,13 +197805,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -204342,8 +197824,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -204404,8 +197885,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -204424,8 +197904,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -204444,8 +197923,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -204464,8 +197942,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -204489,13 +197966,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -204510,8 +197985,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -204530,8 +198004,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -204550,13 +198023,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -204581,13 +198052,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -204621,8 +198090,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -204698,13 +198166,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -204719,8 +198185,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -204815,13 +198280,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -204913,13 +198376,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -204934,13 +198395,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -204955,13 +198414,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -204976,13 +198433,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -205054,13 +198509,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -205151,13 +198604,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -205191,13 +198642,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -205231,13 +198680,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -205252,13 +198699,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -205558,13 +199003,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -205583,8 +199026,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -205609,13 +199051,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -205630,8 +199070,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -205693,8 +199132,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -205713,8 +199151,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -205733,8 +199170,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -205753,8 +199189,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -205778,13 +199213,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -205799,8 +199232,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -205819,8 +199251,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -205839,13 +199270,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -205870,13 +199299,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -205910,8 +199337,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -205987,13 +199413,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -206008,8 +199432,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -206104,13 +199527,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -206202,13 +199623,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -206223,13 +199642,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -206244,13 +199661,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -206265,13 +199680,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -206343,13 +199756,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -206440,13 +199851,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -206480,13 +199889,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -206520,13 +199927,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -206541,13 +199946,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -206847,13 +200250,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -206872,8 +200273,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -206898,13 +200298,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -206919,8 +200317,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -206967,8 +200364,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -207000,8 +200396,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -207020,8 +200415,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -207040,8 +200434,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -207060,8 +200453,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -207085,13 +200477,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -207106,8 +200496,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -207126,8 +200515,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -207146,13 +200534,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -207177,13 +200563,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -207217,8 +200601,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -207294,13 +200677,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -207315,8 +200696,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -207411,13 +200791,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -207509,13 +200887,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -207530,13 +200906,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -207551,13 +200925,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -207572,13 +200944,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -207650,13 +201020,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -207747,13 +201115,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -207787,13 +201153,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -207827,13 +201191,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -207848,13 +201210,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -208154,13 +201514,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -208179,8 +201537,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -208205,13 +201562,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -208226,8 +201581,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -208268,8 +201622,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1=
), (!).",
"rule_loc": [
"File",
{
@@ -208282,8 +201635,7 @@
}
],
"events": [
- [ "Assign", "A0 :=3D c1" ],
- [ "Assign", "A1 :=3D X207^2" ]
+ [ "Assign", "A0 :=3D c1" ], [ "Assign", "A1 :=3D X207^2" ]
]
},
"siblings": [
@@ -208301,8 +201653,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -208321,8 +201672,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -208341,8 +201691,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -208361,8 +201710,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -208381,8 +201729,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -208406,13 +201753,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -208427,8 +201772,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -208447,8 +201791,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -208467,13 +201810,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -208498,13 +201839,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -208538,8 +201877,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -208615,13 +201953,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -208636,8 +201972,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -208732,13 +202067,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -208830,13 +202163,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -208851,13 +202182,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -208872,13 +202201,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -208893,13 +202220,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -208971,13 +202296,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -209068,13 +202391,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -209108,13 +202429,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -209148,13 +202467,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -209169,13 +202486,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -209475,13 +202790,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -209500,8 +202813,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -209526,13 +202838,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -209547,8 +202857,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -209604,8 +202913,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -209624,8 +202932,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -209644,8 +202951,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -209664,8 +202970,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -209684,8 +202989,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -209709,13 +203013,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -209730,8 +203032,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -209750,8 +203051,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -209770,13 +203070,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -209801,13 +203099,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -209841,8 +203137,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -209918,13 +203213,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -209939,8 +203232,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -210035,13 +203327,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -210133,13 +203423,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -210154,13 +203442,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -210175,13 +203461,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -210196,13 +203480,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -210274,13 +203556,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -210371,13 +203651,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -210411,13 +203689,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -210451,13 +203727,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -210472,13 +203746,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -210778,13 +204050,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -210803,8 +204073,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -210829,13 +204098,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -210850,8 +204117,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -210912,8 +204178,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -210932,8 +204197,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -210952,8 +204216,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -210972,8 +204235,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -210992,8 +204254,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -211017,13 +204278,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -211038,8 +204297,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -211058,8 +204316,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -211078,13 +204335,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -211109,13 +204364,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -211149,8 +204402,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -211226,13 +204478,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -211247,8 +204497,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -211343,13 +204592,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -211441,13 +204688,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -211462,13 +204707,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -211483,13 +204726,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -211504,13 +204745,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -211582,13 +204821,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -211679,13 +204916,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -211719,13 +204954,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -211759,13 +204992,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -211780,13 +205011,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -212086,13 +205315,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -212111,8 +205338,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -212137,13 +205363,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -212158,8 +205382,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -212221,8 +205444,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -212241,8 +205463,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -212261,8 +205482,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -212281,8 +205501,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -212301,8 +205520,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -212326,13 +205544,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -212347,8 +205563,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -212367,8 +205582,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -212387,13 +205601,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -212418,13 +205630,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -212458,8 +205668,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -212535,13 +205744,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -212556,8 +205763,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -212652,13 +205858,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -212750,13 +205954,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -212771,13 +205973,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -212792,13 +205992,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -212813,13 +206011,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -212891,13 +206087,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -212988,13 +206182,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -213028,13 +206220,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -213068,13 +206258,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -213089,13 +206277,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -213395,13 +206581,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -213420,8 +206604,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -213446,13 +206629,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -213467,8 +206648,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -213558,8 +206738,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -213578,8 +206757,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -213598,8 +206776,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -213618,8 +206795,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -213643,13 +206819,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -213664,8 +206838,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -213684,8 +206857,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -213704,13 +206876,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -213735,13 +206905,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -213775,8 +206943,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -213852,13 +207019,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -213873,8 +207038,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -213969,13 +207133,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -214067,13 +207229,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -214088,13 +207248,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -214109,13 +207267,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -214130,13 +207286,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -214208,13 +207362,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -214305,13 +207457,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -214345,13 +207495,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -214385,13 +207533,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -214406,13 +207552,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -214712,13 +207856,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -214737,8 +207879,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -214763,13 +207904,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -214784,8 +207923,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -214817,8 +207955,7 @@
"Inference",
{
"current_goal_id": 1635,
- "current_goal_text":
- "std.map [app [global (const =C2=ABBuilders_18.HB_unnamed_factor=
y_22=C2=BB), c0, c1]] \n (copy-pack-holes c0) X192^2",
+ "current_goal_text": "std.map [app [global (const =C2=ABBuilders_1=
8.HB_unnamed_factory_22=C2=BB), c0, c1]] \n (copy-pack-holes c0) X192^2",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -214827,8 +207964,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -214852,8 +207988,7 @@
},
"siblings": [
{
- "goal_text":
- "copy-pack-holes c0 \n (app [global (const =C2=ABBuilder=
s_18.HB_unnamed_factory_22=C2=BB), c0, c1]) X209^2",
+ "goal_text": "copy-pack-holes c0 \n (app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]) X209^2",
"goal_id": 1678
},
{
@@ -214870,8 +208005,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -214890,8 +208024,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -214910,8 +208043,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -214930,13 +208062,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -214961,13 +208091,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -215001,8 +208129,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -215078,13 +208205,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -215099,8 +208224,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -215195,13 +208319,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -215293,13 +208415,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -215314,13 +208434,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -215335,13 +208453,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -215356,13 +208472,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -215434,13 +208548,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -215531,13 +208643,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -215571,13 +208681,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -215611,13 +208719,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -215632,13 +208738,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -215938,13 +209042,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -215963,8 +209065,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -215989,13 +209090,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -216010,8 +209109,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -216043,8 +209141,7 @@
"Inference",
{
"current_goal_id": 1678,
- "current_goal_text":
- "copy-pack-holes c0 \n (app [global (const =C2=ABBuilders_18.HB_=
unnamed_factory_22=C2=BB), c0, c1]) X209^2",
+ "current_goal_text": "copy-pack-holes c0 \n (app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]) X209^2",
"current_goal_predicate": "copy-pack-holes",
"failed_attempts": [],
"successful_attempts": [
@@ -216053,13 +209150,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonica=
l A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 =
\\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c=
1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy=
A0 A5) \n (std.map c3 copy c4) \n (std.rev=
[global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-loc=
al-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n=
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [gl=
obal c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 |=
c3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1)))))))))))))=
| A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
utils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -216086,8 +209181,7 @@
"goal_id": 1681
},
{
- "goal_text":
- "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n =
pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c=
7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0=
X213^2) \n (std.map c5 copy c6) \n (std.rev [global (const=
=C2=ABelpi.hole=C2=BB), X213^2 | c6] c3) | X212^2]\n =3D>\n copy (app [glo=
bal (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]) \n X20=
9^2",
+ "goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c=
5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (ap=
p [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5=
]) (copy c0 X213^2) \n (std.map c5 copy c6) \n (std.rev [gl=
obal (const =C2=ABelpi.hole=C2=BB), X213^2 | c6] c3) | X212^2]\n =3D>\n cop=
y (app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c=
1]) \n X209^2",
"goal_id": 1682
}
],
@@ -216100,13 +209194,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -216121,8 +209213,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -216141,8 +209232,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -216161,8 +209251,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -216181,13 +209270,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -216212,13 +209299,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -216252,8 +209337,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -216329,13 +209413,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -216350,8 +209432,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -216446,13 +209527,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -216544,13 +209623,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -216565,13 +209642,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -216586,13 +209661,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -216607,13 +209680,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -216685,13 +209756,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -216782,13 +209851,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -216822,13 +209889,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -216862,13 +209927,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -216883,13 +209946,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -217189,13 +210250,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -217214,8 +210273,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -217240,13 +210298,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -217261,8 +210317,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -217303,13 +210358,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-c=
anonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.finda=
ll (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -217338,13 +210391,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-can=
onical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.findall=
(local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -217359,13 +210410,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -217380,8 +210429,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -217400,8 +210448,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -217420,8 +210467,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -217440,13 +210486,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -217471,13 +210515,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -217511,8 +210553,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -217588,13 +210629,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -217609,8 +210648,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -217705,13 +210743,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -217803,13 +210839,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -217824,13 +210858,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -217845,13 +210877,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -217866,13 +210896,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -217944,13 +210972,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -218041,13 +211067,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -218081,13 +211105,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -218121,13 +211143,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -218142,13 +211162,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -218448,13 +211466,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -218473,8 +211489,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -218499,13 +211514,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -218520,8 +211533,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -218562,8 +211574,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.findall A0 A1) :- (findall_solutions A0 A1).",
+ "rule_text": "(std.findall A0 A1) :- (findall_solutions =
A0 A1).",
"rule_loc": [
"File",
{
@@ -218582,8 +211593,7 @@
},
"siblings": [
{
- "goal_text":
- "findall_solutions (local-canonical X214^2) X215^2",
+ "goal_text": "findall_solutions (local-canonical X214^2) X=
215^2",
"goal_id": 1685
}
],
@@ -218596,8 +211606,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.findall A0 A1) :- (findall_solutions A0 A1).",
+ "rule_text": "(std.findall A0 A1) :- (findall_solutions A0=
A1).",
"rule_loc": [
"File",
{
@@ -218616,13 +211625,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-can=
onical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.findall=
(local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -218637,13 +211644,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -218658,8 +211663,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -218678,8 +211682,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -218698,8 +211701,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -218718,13 +211720,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -218749,13 +211749,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -218789,8 +211787,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -218866,13 +211863,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -218887,8 +211882,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -218983,13 +211977,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -219081,13 +212073,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -219102,13 +212092,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -219123,13 +212111,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -219144,13 +212130,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -219222,13 +212206,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -219319,13 +212301,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -219359,13 +212339,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -219399,13 +212377,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -219420,13 +212396,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -219726,13 +212700,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -219751,8 +212723,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -219777,13 +212748,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -219798,8 +212767,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -219831,8 +212799,7 @@
"Findall",
{
"findall_goal_id": 1685,
- "findall_goal_text":
- "findall_solutions (local-canonical X214^2) X215^2",
+ "findall_goal_text": "findall_solutions (local-canonical X214^2) X=
215^2",
"findall_cards": [
{
"step_id": 0,
@@ -219872,8 +212839,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.findall A0 A1) :- (findall_solutions A0 A1).",
+ "rule_text": "(std.findall A0 A1) :- (findall_solutions A0=
A1).",
"rule_loc": [
"File",
{
@@ -219892,13 +212858,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-can=
onical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.findall=
(local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -219913,13 +212877,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -219934,8 +212896,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -219954,8 +212915,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -219974,8 +212934,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -219994,13 +212953,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -220025,13 +212982,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -220065,8 +213020,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -220142,13 +213096,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -220163,8 +213115,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -220259,13 +213210,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -220357,13 +213306,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -220378,13 +213325,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -220399,13 +213344,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -220420,13 +213363,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -220498,13 +213439,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -220595,13 +213534,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -220635,13 +213572,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -220675,13 +213610,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -220696,13 +213629,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -221002,13 +213933,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -221027,8 +213956,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -221053,13 +213981,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -221074,8 +214000,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -221159,13 +214084,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(findall-local-canonical A0) :- (std.findall (local-can=
onical A1) A2), \n (std.map A2 local-canonical-gref A0).",
+ "rule_text": "(findall-local-canonical A0) :- (std.findall=
(local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 200,
"column": 0,
"character": 7260
@@ -221180,13 +214103,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -221201,8 +214122,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -221221,8 +214141,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -221241,8 +214160,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -221261,13 +214179,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -221292,13 +214208,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -221332,8 +214246,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -221409,13 +214322,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -221430,8 +214341,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -221526,13 +214436,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -221624,13 +214532,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -221645,13 +214551,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -221666,13 +214570,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -221687,13 +214589,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -221765,13 +214665,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -221862,13 +214760,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -221902,13 +214798,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -221942,13 +214836,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -221963,13 +214855,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -222269,13 +215159,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -222294,8 +215182,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -222320,13 +215207,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -222341,8 +215226,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -222387,8 +215271,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
stdpp.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/stdpp.elpi",
"line": 196,
"column": 0,
"character": 7411
@@ -222412,8 +215295,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/st=
dpp.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/stdpp.elpi",
"line": 196,
"column": 0,
"character": 7411
@@ -222428,13 +215310,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -222449,8 +215329,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -222469,8 +215348,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -222489,8 +215367,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -222509,13 +215386,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -222540,13 +215415,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -222580,8 +215453,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -222657,13 +215529,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -222678,8 +215548,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -222774,13 +215643,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -222872,13 +215739,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -222893,13 +215758,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -222914,13 +215777,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -222935,13 +215796,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -223013,13 +215872,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -223110,13 +215967,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -223150,13 +216005,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -223190,13 +216043,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -223211,13 +216062,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -223517,13 +216366,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -223542,8 +216389,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -223568,13 +216414,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -223589,8 +216433,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -223622,8 +216465,7 @@
"Inference",
{
"current_goal_id": 1682,
- "current_goal_text":
- "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\=
\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3])=
:-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X213^2)=
\n (std.map c5 copy c6) \n (std.rev [global (const =C2=ABe=
lpi.hole=C2=BB), X213^2 | c6] c3)] =3D>\n copy (app [global (const =C2=ABBu=
ilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]) \n X209^2",
+ "current_goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c=
5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (ap=
p [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5=
]) (copy c0 X213^2) \n (std.map c5 copy c6) \n (std.rev [gl=
obal (const =C2=ABelpi.hole=C2=BB), X213^2 | c6] c3)] =3D>\n copy (app [glo=
bal (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]) \n X20=
9^2",
"current_goal_predicate": "=3D>",
"failed_attempts": [],
"successful_attempts": [
@@ -223634,8 +216476,7 @@
},
"siblings": [
{
- "goal_text":
- "copy (app [global (const =C2=ABBuilders_18.HB_unnamed_f=
actory_22=C2=BB), c0, c1]) \n X209^2",
+ "goal_text": "copy (app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_22=C2=BB), c0, c1]) \n X209^2",
"goal_id": 1688
}
],
@@ -223653,13 +216494,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -223674,8 +216513,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -223694,8 +216532,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -223714,8 +216551,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -223734,13 +216570,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -223765,13 +216599,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -223805,8 +216637,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -223882,13 +216713,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -223903,8 +216732,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -223999,13 +216827,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -224097,13 +216923,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -224118,13 +216942,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -224139,13 +216961,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -224160,13 +216980,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -224238,13 +217056,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -224335,13 +217151,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -224375,13 +217189,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -224415,13 +217227,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -224436,13 +217246,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -224742,13 +217550,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -224767,8 +217573,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -224793,13 +217598,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -224814,8 +217617,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -224847,8 +217649,7 @@
"Inference",
{
"current_goal_id": 1688,
- "current_goal_text":
- "copy (app [global (const =C2=ABBuilders_18.HB_unnamed_factory_2=
2=C2=BB), c0, c1]) \n X209^2",
+ "current_goal_text": "copy (app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_22=C2=BB), c0, c1]) \n X209^2",
"current_goal_predicate": "copy",
"failed_attempts": [],
"successful_attempts": [
@@ -224857,8 +217658,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app [global A5 | A0]) (app [global A5 | A1])) =
:- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X213^2), (std=
.map A3 copy A4), \n (std.rev [global (const =C2=ABelpi.hole=C2=BB), X213^2=
| A4] A1).",
+ "rule_text": "(copy (app [global A5 | A0]) (app [global =
A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X2=
13^2), (std.map A3 copy A4), \n (std.rev [global (const =C2=ABelpi.hole=C2=
=BB), X213^2 | A4] A1).",
"rule_loc": [ "Context", 485 ]
}
],
@@ -224876,8 +217676,7 @@
},
"siblings": [
{
- "goal_text":
- "pack? (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=
=BB) _",
+ "goal_text": "pack? (const =C2=ABBuilders_18.HB_unnamed_fa=
ctory_22=C2=BB) _",
"goal_id": 1689
},
{ "goal_text": "!", "goal_id": 1690 },
@@ -224888,8 +217687,7 @@
{ "goal_text": "copy c0 X213^2", "goal_id": 1692 },
{ "goal_text": "std.map X218^2 copy X219^2", "goal_id": 1693=
},
{
- "goal_text":
- "std.rev [global (const =C2=ABelpi.hole=C2=BB), X213^2 |=
X219^2] X216^2",
+ "goal_text": "std.rev [global (const =C2=ABelpi.hole=C2=BB=
), X213^2 | X219^2] X216^2",
"goal_id": 1694
}
],
@@ -224902,8 +217700,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app [global A5 | A0]) (app [global A5 | A1])) :-=
(pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X213^2), (std.m=
ap A3 copy A4), \n (std.rev [global (const =C2=ABelpi.hole=C2=BB), X213^2 |=
A4] A1).",
+ "rule_text": "(copy (app [global A5 | A0]) (app [global A5=
| A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X213=
^2), (std.map A3 copy A4), \n (std.rev [global (const =C2=ABelpi.hole=C2=BB=
), X213^2 | A4] A1).",
"rule_loc": [ "Context", 485 ]
}
],
@@ -224919,13 +217716,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -224940,8 +217735,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -224960,8 +217754,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -224980,8 +217773,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -225000,13 +217792,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -225031,13 +217821,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -225071,8 +217859,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -225148,13 +217935,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -225169,8 +217954,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -225265,13 +218049,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -225363,13 +218145,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -225384,13 +218164,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -225405,13 +218183,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -225426,13 +218202,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -225504,13 +218278,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -225601,13 +218373,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -225641,13 +218411,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -225681,13 +218449,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -225702,13 +218468,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -226008,13 +218772,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -226033,8 +218795,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -226059,13 +218820,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -226080,8 +218839,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -226113,8 +218871,7 @@
"Inference",
{
"current_goal_id": 1689,
- "current_goal_text":
- "pack? (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB) _",
+ "current_goal_text": "pack? (const =C2=ABBuilders_18.HB_unnamed_fa=
ctory_22=C2=BB) _",
"current_goal_predicate": "pack?",
"failed_attempts": [],
"successful_attempts": [],
@@ -226124,8 +218881,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app [global A5 | A0]) (app [global A5 | A1])) :-=
(pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X213^2), (std.m=
ap A3 copy A4), \n (std.rev [global (const =C2=ABelpi.hole=C2=BB), X213^2 |=
A4] A1).",
+ "rule_text": "(copy (app [global A5 | A0]) (app [global A5=
| A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X213=
^2), (std.map A3 copy A4), \n (std.rev [global (const =C2=ABelpi.hole=C2=BB=
), X213^2 | A4] A1).",
"rule_loc": [ "Context", 485 ]
}
],
@@ -226141,13 +218897,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -226162,8 +218916,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -226182,8 +218935,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -226202,8 +218954,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -226222,13 +218973,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -226253,13 +219002,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -226293,8 +219040,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -226370,13 +219116,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -226391,8 +219135,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -226487,13 +219230,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -226585,13 +219326,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -226606,13 +219345,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -226627,13 +219364,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -226648,13 +219383,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -226726,13 +219459,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -226823,13 +219554,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -226863,13 +219592,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -226903,13 +219630,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -226924,13 +219649,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -227230,13 +219953,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -227255,8 +219976,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -227281,13 +220001,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -227302,8 +220020,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -227335,8 +220052,7 @@
"Inference",
{
"current_goal_id": 1688,
- "current_goal_text":
- "copy (app [global (const =C2=ABBuilders_18.HB_unnamed_factory_2=
2=C2=BB), c0, c1]) \n X209^2",
+ "current_goal_text": "copy (app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_22=C2=BB), c0, c1]) \n X209^2",
"current_goal_predicate": "copy",
"failed_attempts": [],
"successful_attempts": [
@@ -227345,8 +220061,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1=
), (!).",
"rule_loc": [
"File",
{
@@ -227368,14 +220083,12 @@
},
"siblings": [
{
- "goal_text":
- "name (app [global (const =C2=ABBuilders_18.HB_unnamed_f=
actory_22=C2=BB), c0, c1])",
+ "goal_text": "name (app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_22=C2=BB), c0, c1])",
"goal_id": 1695
},
{ "goal_text": "!", "goal_id": 1696 },
{
- "goal_text":
- "app [global (const =C2=ABBuilders_18.HB_unnamed_factory=
_22=C2=BB), c0, c1] =3D X209^2",
+ "goal_text": "app [global (const =C2=ABBuilders_18.HB_unna=
med_factory_22=C2=BB), c0, c1] =3D X209^2",
"goal_id": 1697
},
{ "goal_text": "!", "goal_id": 1698 }
@@ -227389,8 +220102,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -227414,13 +220126,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -227435,8 +220145,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -227455,8 +220164,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -227475,8 +220183,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -227495,13 +220202,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -227526,13 +220231,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -227566,8 +220269,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -227643,13 +220345,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -227664,8 +220364,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -227760,13 +220459,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -227858,13 +220555,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -227879,13 +220574,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -227900,13 +220593,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -227921,13 +220612,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -227999,13 +220688,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -228096,13 +220783,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -228136,13 +220821,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -228176,13 +220859,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -228197,13 +220878,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -228503,13 +221182,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -228528,8 +221205,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -228554,13 +221230,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -228575,8 +221249,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -228608,8 +221281,7 @@
"Inference",
{
"current_goal_id": 1695,
- "current_goal_text":
- "name (app [global (const =C2=ABBuilders_18.HB_unnamed_factory_2=
2=C2=BB), c0, c1])",
+ "current_goal_text": "name (app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_22=C2=BB), c0, c1])",
"current_goal_predicate": "name",
"failed_attempts": [
{ "rule": [ "BuiltinRule", [ "FFI", "name" ] ], "events": [] }
@@ -228626,8 +221298,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -228651,13 +221322,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -228672,8 +221341,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -228692,8 +221360,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -228712,8 +221379,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -228732,13 +221398,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -228763,13 +221427,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -228803,8 +221465,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -228880,13 +221541,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -228901,8 +221560,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -228997,13 +221655,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -229095,13 +221751,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -229116,13 +221770,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -229137,13 +221789,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -229158,13 +221808,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -229236,13 +221884,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -229333,13 +221979,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -229373,13 +222017,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -229413,13 +222055,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -229434,13 +222074,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -229740,13 +222378,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -229765,8 +222401,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -229791,13 +222426,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -229812,8 +222445,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -229845,8 +222477,7 @@
"Inference",
{
"current_goal_id": 1688,
- "current_goal_text":
- "copy (app [global (const =C2=ABBuilders_18.HB_unnamed_factory_2=
2=C2=BB), c0, c1]) \n X209^2",
+ "current_goal_text": "copy (app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_22=C2=BB), c0, c1]) \n X209^2",
"current_goal_predicate": "copy",
"failed_attempts": [],
"successful_attempts": [
@@ -229855,8 +222486,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1)=
.",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map =
A0 copy A1).",
"rule_loc": [
"File",
{
@@ -229879,8 +222509,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1699 },
{
- "goal_text":
- "std.map [global (const =C2=ABBuilders_18.HB_unnamed_fac=
tory_22=C2=BB), c0, c1] copy \n X220^2",
+ "goal_text": "std.map [global (const =C2=ABBuilders_18.HB_=
unnamed_factory_22=C2=BB), c0, c1] copy \n X220^2",
"goal_id": 1700
}
],
@@ -229893,8 +222522,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -229918,13 +222546,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -229939,8 +222565,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -229959,8 +222584,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -229979,8 +222603,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -229999,13 +222622,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -230030,13 +222651,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -230070,8 +222689,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -230147,13 +222765,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -230168,8 +222784,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -230264,13 +222879,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -230362,13 +222975,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -230383,13 +222994,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -230404,13 +223013,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -230425,13 +223032,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -230503,13 +223108,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -230600,13 +223203,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -230640,13 +223241,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -230680,13 +223279,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -230701,13 +223298,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -231007,13 +223602,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -231032,8 +223625,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -231058,13 +223650,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -231079,8 +223669,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -231118,8 +223707,7 @@
"Inference",
{
"current_goal_id": 1700,
- "current_goal_text":
- "std.map [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=
=C2=BB), c0, c1] copy \n X220^2",
+ "current_goal_text": "std.map [global (const =C2=ABBuilders_18.HB_=
unnamed_factory_22=C2=BB), c0, c1] copy \n X220^2",
"current_goal_predicate": "std.map",
"failed_attempts": [],
"successful_attempts": [
@@ -231128,8 +223716,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -231153,8 +223740,7 @@
},
"siblings": [
{
- "goal_text":
- "copy (global (const =C2=ABBuilders_18.HB_unnamed_factor=
y_22=C2=BB)) X221^2",
+ "goal_text": "copy (global (const =C2=ABBuilders_18.HB_unn=
amed_factory_22=C2=BB)) X221^2",
"goal_id": 1701
},
{
@@ -231171,8 +223757,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -231191,8 +223776,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -231216,13 +223800,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -231237,8 +223819,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -231257,8 +223838,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -231277,8 +223857,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -231297,13 +223876,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -231328,13 +223905,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -231368,8 +223943,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -231445,13 +224019,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -231466,8 +224038,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -231562,13 +224133,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -231660,13 +224229,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -231681,13 +224248,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -231702,13 +224267,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -231723,13 +224286,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -231801,13 +224362,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -231898,13 +224457,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -231938,13 +224495,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -231978,13 +224533,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -231999,13 +224552,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -232305,13 +224856,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -232330,8 +224879,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -232356,13 +224904,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -232377,8 +224923,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -232410,8 +224955,7 @@
"Inference",
{
"current_goal_id": 1701,
- "current_goal_text":
- "copy (global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=
=BB)) X221^2",
+ "current_goal_text": "copy (global (const =C2=ABBuilders_18.HB_unn=
amed_factory_22=C2=BB)) X221^2",
"current_goal_predicate": "copy",
"failed_attempts": [],
"successful_attempts": [
@@ -232420,8 +224964,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1=
), (!).",
"rule_loc": [
"File",
{
@@ -232443,14 +224986,12 @@
},
"siblings": [
{
- "goal_text":
- "name (global (const =C2=ABBuilders_18.HB_unnamed_factor=
y_22=C2=BB))",
+ "goal_text": "name (global (const =C2=ABBuilders_18.HB_unn=
amed_factory_22=C2=BB))",
"goal_id": 1703
},
{ "goal_text": "!", "goal_id": 1704 },
{
- "goal_text":
- "global (const =C2=ABBuilders_18.HB_unnamed_factory_22=
=C2=BB) =3D X221^2",
+ "goal_text": "global (const =C2=ABBuilders_18.HB_unnamed_f=
actory_22=C2=BB) =3D X221^2",
"goal_id": 1705
},
{ "goal_text": "!", "goal_id": 1706 }
@@ -232464,8 +225005,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -232484,8 +225024,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -232504,8 +225043,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -232529,13 +225067,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -232550,8 +225086,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -232570,8 +225105,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -232590,8 +225124,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -232610,13 +225143,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -232641,13 +225172,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -232681,8 +225210,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -232758,13 +225286,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -232779,8 +225305,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -232875,13 +225400,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -232973,13 +225496,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -232994,13 +225515,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -233015,13 +225534,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -233036,13 +225553,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -233114,13 +225629,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -233211,13 +225724,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -233251,13 +225762,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -233291,13 +225800,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -233312,13 +225819,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -233618,13 +226123,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -233643,8 +226146,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -233669,13 +226171,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -233690,8 +226190,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -233723,8 +226222,7 @@
"Inference",
{
"current_goal_id": 1703,
- "current_goal_text":
- "name (global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=
=BB))",
+ "current_goal_text": "name (global (const =C2=ABBuilders_18.HB_unn=
amed_factory_22=C2=BB))",
"current_goal_predicate": "name",
"failed_attempts": [
{ "rule": [ "BuiltinRule", [ "FFI", "name" ] ], "events": [] }
@@ -233741,8 +226239,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -233761,8 +226258,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -233781,8 +226277,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -233806,13 +226301,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -233827,8 +226320,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -233847,8 +226339,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -233867,8 +226358,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -233887,13 +226377,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -233918,13 +226406,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -233958,8 +226444,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -234035,13 +226520,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -234056,8 +226539,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -234152,13 +226634,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -234250,13 +226730,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -234271,13 +226749,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -234292,13 +226768,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -234313,13 +226787,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -234391,13 +226863,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -234488,13 +226958,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -234528,13 +226996,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -234568,13 +227034,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -234589,13 +227053,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -234895,13 +227357,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -234920,8 +227380,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -234946,13 +227405,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -234967,8 +227424,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -235000,8 +227456,7 @@
"Inference",
{
"current_goal_id": 1701,
- "current_goal_text":
- "copy (global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=
=BB)) X221^2",
+ "current_goal_text": "copy (global (const =C2=ABBuilders_18.HB_unn=
amed_factory_22=C2=BB)) X221^2",
"current_goal_predicate": "copy",
"failed_attempts": [],
"successful_attempts": [
@@ -235062,8 +227517,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -235082,8 +227536,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -235107,13 +227560,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -235128,8 +227579,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -235148,8 +227598,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -235168,8 +227617,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -235188,13 +227636,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -235219,13 +227665,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -235259,8 +227703,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -235336,13 +227779,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -235357,8 +227798,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -235453,13 +227893,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -235551,13 +227989,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -235572,13 +228008,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -235593,13 +228027,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -235614,13 +228046,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -235692,13 +228122,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -235789,13 +228217,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -235829,13 +228255,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -235869,13 +228293,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -235890,13 +228312,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -236196,13 +228616,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -236221,8 +228639,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -236247,13 +228664,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -236268,8 +228683,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -236316,8 +228730,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -236349,8 +228762,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -236369,8 +228781,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -236389,8 +228800,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -236414,13 +228824,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -236435,8 +228843,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -236455,8 +228862,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -236475,8 +228881,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -236495,13 +228900,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -236526,13 +228929,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -236566,8 +228967,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -236643,13 +229043,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -236664,8 +229062,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -236760,13 +229157,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -236858,13 +229253,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -236879,13 +229272,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -236900,13 +229291,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -236921,13 +229310,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -236999,13 +229386,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -237096,13 +229481,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -237136,13 +229519,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -237176,13 +229557,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -237197,13 +229576,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -237503,13 +229880,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -237528,8 +229903,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -237554,13 +229928,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -237575,8 +229947,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -237617,8 +229988,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1=
), (!).",
"rule_loc": [
"File",
{
@@ -237631,8 +230001,7 @@
}
],
"events": [
- [ "Assign", "A0 :=3D c0" ],
- [ "Assign", "A1 :=3D X223^2" ]
+ [ "Assign", "A0 :=3D c0" ], [ "Assign", "A1 :=3D X223^2" ]
]
},
"siblings": [
@@ -237650,8 +230019,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -237670,8 +230038,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -237690,8 +230057,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -237710,8 +230076,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -237735,13 +230100,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -237756,8 +230119,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -237776,8 +230138,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -237796,8 +230157,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -237816,13 +230176,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -237847,13 +230205,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -237887,8 +230243,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -237964,13 +230319,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -237985,8 +230338,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -238081,13 +230433,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -238179,13 +230529,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -238200,13 +230548,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -238221,13 +230567,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -238242,13 +230586,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -238320,13 +230662,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -238417,13 +230757,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -238457,13 +230795,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -238497,13 +230833,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -238518,13 +230852,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -238824,13 +231156,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -238849,8 +231179,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -238875,13 +231204,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -238896,8 +231223,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -238953,8 +231279,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -238973,8 +231298,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -238993,8 +231317,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -239013,8 +231336,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -239038,13 +231360,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -239059,8 +231379,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -239079,8 +231398,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -239099,8 +231417,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -239119,13 +231436,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -239150,13 +231465,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -239190,8 +231503,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -239267,13 +231579,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -239288,8 +231598,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -239384,13 +231693,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -239482,13 +231789,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -239503,13 +231808,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -239524,13 +231827,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -239545,13 +231846,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -239623,13 +231922,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -239720,13 +232017,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -239760,13 +232055,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -239800,13 +232093,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -239821,13 +232112,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -240127,13 +232416,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -240152,8 +232439,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -240178,13 +232464,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -240199,8 +232483,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -240261,8 +232544,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -240281,8 +232563,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -240301,8 +232582,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -240321,8 +232601,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -240346,13 +232625,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -240367,8 +232644,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -240387,8 +232663,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -240407,8 +232682,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -240427,13 +232701,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -240458,13 +232730,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -240498,8 +232768,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -240575,13 +232844,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -240596,8 +232863,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -240692,13 +232958,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -240790,13 +233054,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -240811,13 +233073,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -240832,13 +233092,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -240853,13 +233111,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -240931,13 +233187,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -241028,13 +233282,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -241068,13 +233320,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -241108,13 +233358,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -241129,13 +233377,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -241435,13 +233681,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -241460,8 +233704,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -241486,13 +233729,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -241507,8 +233748,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -241570,8 +233810,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -241590,8 +233829,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -241610,8 +233848,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -241630,8 +233867,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -241655,13 +233891,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -241676,8 +233910,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -241696,8 +233929,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -241716,8 +233948,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -241736,13 +233967,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -241767,13 +233996,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -241807,8 +234034,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -241884,13 +234110,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -241905,8 +234129,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -242001,13 +234224,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -242099,13 +234320,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -242120,13 +234339,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -242141,13 +234358,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -242162,13 +234377,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -242240,13 +234453,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -242337,13 +234548,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -242377,13 +234586,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -242417,13 +234624,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -242438,13 +234643,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -242744,13 +234947,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -242769,8 +234970,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -242795,13 +234995,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -242816,8 +235014,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -242864,8 +235061,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.=
map A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0=
A3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -242897,8 +235093,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -242917,8 +235112,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -242937,8 +235131,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -242957,8 +235150,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -242982,13 +235174,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -243003,8 +235193,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -243023,8 +235212,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -243043,8 +235231,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -243063,13 +235250,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -243094,13 +235279,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -243134,8 +235317,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -243211,13 +235393,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -243232,8 +235412,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -243328,13 +235507,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -243426,13 +235603,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -243447,13 +235622,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -243468,13 +235641,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -243489,13 +235660,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -243567,13 +235736,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -243664,13 +235831,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -243704,13 +235869,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -243744,13 +235907,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -243765,13 +235926,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -244071,13 +236230,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -244096,8 +236253,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -244122,13 +236278,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -244143,8 +236297,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -244185,8 +236338,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1=
), (!).",
"rule_loc": [
"File",
{
@@ -244199,8 +236351,7 @@
}
],
"events": [
- [ "Assign", "A0 :=3D c1" ],
- [ "Assign", "A1 :=3D X225^2" ]
+ [ "Assign", "A0 :=3D c1" ], [ "Assign", "A1 :=3D X225^2" ]
]
},
"siblings": [
@@ -244218,8 +236369,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -244238,8 +236388,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -244258,8 +236407,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -244278,8 +236426,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -244298,8 +236445,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -244323,13 +236469,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -244344,8 +236488,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -244364,8 +236507,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -244384,8 +236526,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -244404,13 +236545,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -244435,13 +236574,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -244475,8 +236612,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -244552,13 +236688,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -244573,8 +236707,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -244669,13 +236802,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -244767,13 +236898,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -244788,13 +236917,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -244809,13 +236936,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -244830,13 +236955,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -244908,13 +237031,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -245005,13 +237126,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -245045,13 +237164,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -245085,13 +237202,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -245106,13 +237221,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -245412,13 +237525,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -245437,8 +237548,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -245463,13 +237573,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -245484,8 +237592,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -245541,8 +237648,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -245561,8 +237667,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -245581,8 +237686,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -245601,8 +237705,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -245621,8 +237724,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -245646,13 +237748,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -245667,8 +237767,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -245687,8 +237786,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -245707,8 +237805,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -245727,13 +237824,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -245758,13 +237853,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -245798,8 +237891,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -245875,13 +237967,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -245896,8 +237986,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -245992,13 +238081,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -246090,13 +238177,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -246111,13 +238196,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -246132,13 +238215,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -246153,13 +238234,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -246231,13 +238310,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -246328,13 +238405,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -246368,13 +238443,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -246408,13 +238481,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -246429,13 +238500,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -246735,13 +238804,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -246760,8 +238827,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -246786,13 +238852,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -246807,8 +238871,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -246869,8 +238932,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -246889,8 +238951,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -246909,8 +238970,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -246929,8 +238989,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -246949,8 +239008,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -246974,13 +239032,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -246995,8 +239051,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -247015,8 +239070,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -247035,8 +239089,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -247055,13 +239108,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -247086,13 +239137,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -247126,8 +239175,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -247203,13 +239251,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -247224,8 +239270,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -247320,13 +239365,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -247418,13 +239461,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -247439,13 +239480,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -247460,13 +239499,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -247481,13 +239518,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -247559,13 +239594,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -247656,13 +239689,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -247696,13 +239727,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -247736,13 +239765,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -247757,13 +239784,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -248063,13 +240088,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -248088,8 +240111,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -248114,13 +240136,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -248135,8 +240155,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -248198,8 +240217,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy A0 A1) :- (name A0), (!), (A0 =3D A1), (!).",
+ "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 =3D A1),=
(!).",
"rule_loc": [
"File",
{
@@ -248218,8 +240236,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -248238,8 +240255,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -248258,8 +240274,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -248278,8 +240293,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -248303,13 +240317,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -248324,8 +240336,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -248344,8 +240355,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -248364,8 +240374,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -248384,13 +240393,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -248415,13 +240422,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -248455,8 +240460,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -248532,13 +240536,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -248553,8 +240555,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -248649,13 +240650,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -248747,13 +240746,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -248768,13 +240765,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -248789,13 +240784,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -248810,13 +240803,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -248888,13 +240879,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -248985,13 +240974,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -249025,13 +241012,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -249065,13 +241050,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -249086,13 +241069,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -249392,13 +241373,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -249417,8 +241396,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -249443,13 +241421,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -249464,8 +241440,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -249555,8 +241530,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -249575,8 +241549,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -249595,8 +241568,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -249615,8 +241587,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).",
+ "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0=
copy A1).",
"rule_loc": [
"File",
{
@@ -249640,13 +241611,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical =
A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\=
\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (=
pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]=
) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A=
0 A5) \n (std.map c3 copy c4) \n (std.rev [=
global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) | A4]\n =
=3D> copy A1 A2).",
+ "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local=
-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n =
(pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n =
(pi (c7 \\\n (copy (app [global c5 | c0]) (app [glob=
al c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c=
3]) (copy A0 A5) \n (std.map c3 copy c4) \n =
(std.rev [global (const =C2=ABelpi.hole=C2=BB), A5 | c4] c1))))))))))))) |=
A4]\n =3D> copy A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 318,
"column": 0,
"character": 12866
@@ -249661,8 +241630,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -249681,8 +241649,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -249701,8 +241668,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -249721,13 +241687,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -249752,13 +241716,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -249792,8 +241754,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -249869,13 +241830,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -249890,8 +241849,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -249986,13 +241944,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -250084,13 +242040,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -250105,13 +242059,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -250126,13 +242078,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -250147,13 +242097,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -250225,13 +242173,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -250322,13 +242268,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -250362,13 +242306,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -250402,13 +242344,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -250423,13 +242363,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -250729,13 +242667,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -250754,8 +242690,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -250780,13 +242715,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -250801,8 +242734,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -250886,8 +242818,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -250906,8 +242837,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -250926,8 +242856,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.ma=
p A1 A2 A4).",
+ "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A=
3), (std.map A1 A2 A4).",
"rule_loc": [
"File",
{
@@ -250946,13 +242875,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -250977,13 +242904,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -251017,8 +242942,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -251094,13 +243018,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -251115,8 +243037,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -251211,13 +243132,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -251309,13 +243228,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -251330,13 +243247,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -251351,13 +243266,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -251372,13 +243285,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -251450,13 +243361,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -251547,13 +243456,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -251587,13 +243494,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -251627,13 +243532,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -251648,13 +243551,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -251954,13 +243855,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -251979,8 +243878,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -252005,13 +243903,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -252026,8 +243922,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -252059,8 +243954,7 @@
"Inference",
{
"current_goal_id": 1613,
- "current_goal_text":
- "std.spy\n (std.take 0 \n [c0, app [global (const =C2=ABBuilde=
rs_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]] \n X175^1)",
+ "current_goal_text": "std.spy\n (std.take 0 \n [c0, app [global =
(const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [=
global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]] \n =
X175^1)",
"current_goal_predicate": "std.spy",
"failed_attempts": [],
"successful_attempts": [
@@ -252069,8 +243963,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (=
A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---=
- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n=
(if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-prin=
t ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -252092,23 +243985,19 @@
"siblings": [
{ "goal_text": "trace.counter run X227^2", "goal_id": 1722 },
{
- "goal_text":
- "if (not (X227^2 =3D 0)) (std.debug-print run=3D X227^2)=
true",
+ "goal_text": "if (not (X227^2 =3D 0)) (std.debug-print run=
=3D X227^2) true",
"goal_id": 1723
},
{
- "goal_text":
- "std.debug-print ----<<---- enter: \n (std.take 0 \n =
[c0, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0,=
c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=
=BB), c0, c1]] \n X175^1)",
+ "goal_text": "std.debug-print ----<<---- enter: \n (std.t=
ake 0 \n [c0, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=
=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_fac=
tory_22=C2=BB), c0, c1]] \n X175^1)",
"goal_id": 1724
},
{
- "goal_text":
- "std.take 0 \n [c0, app [global (const =C2=ABBuilders_18=
.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilde=
rs_18.HB_unnamed_factory_22=C2=BB), c0, c1]] X175^1",
+ "goal_text": "std.take 0 \n [c0, app [global (const =C2=AB=
Builders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]] X175^1",
"goal_id": 1725
},
{
- "goal_text":
- "std.debug-print ---->>---- exit: \n (std.take 0 \n [=
c0, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, =
c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB=
), c0, c1]] \n X175^1)",
+ "goal_text": "std.debug-print ---->>---- exit: \n (std.ta=
ke 0 \n [c0, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=
=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_fac=
tory_22=C2=BB), c0, c1]] \n X175^1)",
"goal_id": 1726
}
],
@@ -252121,8 +244010,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -252141,13 +244029,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -252172,13 +244058,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -252212,8 +244096,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -252289,13 +244172,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -252310,8 +244191,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -252406,13 +244286,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -252504,13 +244382,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -252525,13 +244401,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -252546,13 +244420,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -252567,13 +244439,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -252645,13 +244515,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -252742,13 +244610,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -252782,13 +244648,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -252822,13 +244686,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -252843,13 +244705,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -253149,13 +245009,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -253174,8 +245032,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -253200,13 +245057,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -253221,8 +245076,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -253278,8 +245132,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -253298,13 +245151,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -253329,13 +245180,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -253369,8 +245218,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -253446,13 +245294,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -253467,8 +245313,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -253563,13 +245408,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -253661,13 +245504,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -253682,13 +245523,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -253703,13 +245542,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -253724,13 +245561,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -253802,13 +245637,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -253899,13 +245732,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -253939,13 +245770,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -253979,13 +245808,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -254000,13 +245827,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -254306,13 +246131,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -254331,8 +246154,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -254357,13 +246179,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -254378,8 +246198,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -254440,8 +246259,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -254460,13 +246278,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -254491,13 +246307,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -254531,8 +246345,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -254608,13 +246421,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -254629,8 +246440,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -254725,13 +246535,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -254823,13 +246631,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -254844,13 +246650,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -254865,13 +246669,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -254886,13 +246688,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -254964,13 +246764,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -255061,13 +246859,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -255101,13 +246897,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -255141,13 +246935,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -255162,13 +246954,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -255468,13 +247258,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -255493,8 +247281,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -255519,13 +247306,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -255540,8 +247325,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -255632,8 +247416,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -255652,13 +247435,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -255683,13 +247464,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -255723,8 +247502,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -255800,13 +247578,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -255821,8 +247597,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -255917,13 +247692,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -256015,13 +247788,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -256036,13 +247807,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -256057,13 +247826,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -256078,13 +247845,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -256156,13 +247921,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -256253,13 +248016,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -256293,13 +248054,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -256333,13 +248092,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -256354,13 +248111,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -256660,13 +248415,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -256685,8 +248438,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -256711,13 +248463,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -256732,8 +248482,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -256840,8 +248589,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -256860,13 +248608,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -256891,13 +248637,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -256931,8 +248675,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -257008,13 +248751,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -257029,8 +248770,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -257125,13 +248865,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -257223,13 +248961,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -257244,13 +248980,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -257265,13 +248999,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -257286,13 +249018,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -257364,13 +249094,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -257461,13 +249189,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -257501,13 +249227,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -257541,13 +249265,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -257562,13 +249284,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -257868,13 +249588,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -257893,8 +249611,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -257919,13 +249636,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -257940,8 +249655,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -258035,8 +249749,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -258055,13 +249768,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -258086,13 +249797,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -258126,8 +249835,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -258203,13 +249911,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -258224,8 +249930,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -258320,13 +250025,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -258418,13 +250121,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -258439,13 +250140,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -258460,13 +250159,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -258481,13 +250178,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -258559,13 +250254,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -258656,13 +250349,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -258696,13 +250387,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -258736,13 +250425,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -258757,13 +250444,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -259063,13 +250748,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -259088,8 +250771,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -259114,13 +250796,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -259135,8 +250815,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -259247,8 +250926,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -259267,13 +250945,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -259298,13 +250974,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -259338,8 +251012,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -259415,13 +251088,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -259436,8 +251107,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -259532,13 +251202,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -259630,13 +251298,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -259651,13 +251317,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -259672,13 +251336,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -259693,13 +251355,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -259771,13 +251431,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -259868,13 +251526,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -259908,13 +251564,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -259948,13 +251602,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -259969,13 +251621,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -260275,13 +251925,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -260300,8 +251948,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -260326,13 +251973,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -260347,8 +251992,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -260432,8 +252076,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -260452,13 +252095,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -260483,13 +252124,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -260523,8 +252162,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -260600,13 +252238,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -260621,8 +252257,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -260717,13 +252352,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -260815,13 +252448,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -260836,13 +252467,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -260857,13 +252486,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -260878,13 +252505,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -260956,13 +252581,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -261053,13 +252676,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -261093,13 +252714,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -261133,13 +252752,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -261154,13 +252771,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -261460,13 +253075,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -261485,8 +253098,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -261511,13 +253123,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -261532,8 +253142,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -261636,8 +253245,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -261656,13 +253264,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -261687,13 +253293,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -261727,8 +253331,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -261804,13 +253407,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -261825,8 +253426,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -261921,13 +253521,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -262019,13 +253617,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -262040,13 +253636,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -262061,13 +253655,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -262082,13 +253674,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -262160,13 +253750,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -262257,13 +253845,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -262297,13 +253883,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -262337,13 +253921,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -262358,13 +253940,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -262664,13 +254244,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -262689,8 +254267,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -262715,13 +254292,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -262736,8 +254311,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -262769,8 +254343,7 @@
"Inference",
{
"current_goal_id": 1724,
- "current_goal_text":
- "std.debug-print ----<<---- enter: \n (std.take 0 \n [c0, app=
[global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n=
app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, =
c1]] \n X175^1)",
+ "current_goal_text": "std.debug-print ----<<---- enter: \n (std.t=
ake 0 \n [c0, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=
=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_fac=
tory_22=C2=BB), c0, c1]] \n X175^1)",
"current_goal_predicate": "std.debug-print",
"failed_attempts": [],
"successful_attempts": [
@@ -262779,8 +254352,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).",
+ "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A=
0 A1).",
"rule_loc": [
"File",
{
@@ -262803,8 +254375,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1735 },
{
- "goal_text":
- "coq.say ----<<---- enter: \n (std.take 0 \n [c0, app=
[global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n=
app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, =
c1]] \n X175^1)",
+ "goal_text": "coq.say ----<<---- enter: \n (std.take 0 \n=
[c0, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), =
c0, c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=
=C2=BB), c0, c1]] \n X175^1)",
"goal_id": 1736
}
],
@@ -262817,8 +254388,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).",
+ "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A0 =
A1).",
"rule_loc": [
"File",
{
@@ -262837,8 +254407,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -262857,13 +254426,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -262888,13 +254455,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -262928,8 +254493,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -263005,13 +254569,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -263026,8 +254588,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -263122,13 +254683,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -263220,13 +254779,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -263241,13 +254798,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -263262,13 +254817,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -263283,13 +254836,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -263361,13 +254912,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -263458,13 +255007,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -263498,13 +255045,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -263538,13 +255083,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -263559,13 +255102,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -263865,13 +255406,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -263890,8 +255429,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -263916,13 +255454,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -263937,8 +255473,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -263973,8 +255508,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "std.debug-print ----<<---- enter: \n (std.take 0 \n [c=
0, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c=
1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB)=
, c0, c1]] \n X175^1)",
+ "goal_text": "std.debug-print ----<<---- enter: \n (std.tak=
e 0 \n [c0, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=
=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_factor=
y_22=C2=BB), c0, c1]] \n X175^1)",
"goal_id": 1724
},
"cut_branch": {
@@ -264002,8 +255536,7 @@
"Inference",
{
"current_goal_id": 1736,
- "current_goal_text":
- "coq.say ----<<---- enter: \n (std.take 0 \n [c0, app [global=
(const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app =
[global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]] \n =
X175^1)",
+ "current_goal_text": "coq.say ----<<---- enter: \n (std.take 0 \n=
[c0, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), =
c0, c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=
=C2=BB), c0, c1]] \n X175^1)",
"current_goal_predicate": "coq.say",
"failed_attempts": [],
"successful_attempts": [
@@ -264027,8 +255560,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).",
+ "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A0 =
A1).",
"rule_loc": [
"File",
{
@@ -264047,8 +255579,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -264067,13 +255598,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -264098,13 +255627,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -264138,8 +255665,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -264215,13 +255741,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -264236,8 +255760,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -264332,13 +255855,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -264430,13 +255951,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -264451,13 +255970,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -264472,13 +255989,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -264493,13 +256008,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -264571,13 +256084,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -264668,13 +256179,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -264708,13 +256217,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -264748,13 +256255,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -264769,13 +256274,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -265075,13 +256578,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -265100,8 +256601,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -265126,13 +256626,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -265147,8 +256645,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -265180,8 +256677,7 @@
"Inference",
{
"current_goal_id": 1725,
- "current_goal_text":
- "std.take 0 \n [c0, app [global (const =C2=ABBuilders_18.HB_unna=
med_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB=
_unnamed_factory_22=C2=BB), c0, c1]] X175^1",
+ "current_goal_text": "std.take 0 \n [c0, app [global (const =C2=AB=
Builders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =
=C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]] X175^1",
"current_goal_predicate": "std.take",
"failed_attempts": [],
"successful_attempts": [
@@ -265233,8 +256729,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -265253,13 +256748,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -265284,13 +256777,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -265324,8 +256815,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -265401,13 +256891,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -265422,8 +256910,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -265518,13 +257005,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -265616,13 +257101,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -265637,13 +257120,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -265658,13 +257139,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -265679,13 +257158,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -265757,13 +257234,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -265854,13 +257329,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -265894,13 +257367,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -265934,13 +257405,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -265955,13 +257424,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -266261,13 +257728,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -266286,8 +257751,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -266312,13 +257776,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -266333,8 +257795,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -266369,13 +257830,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "std.take 0 \n [c0, app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders=
_18.HB_unnamed_factory_22=C2=BB), c0, c1]] X175^1",
+ "goal_text": "std.take 0 \n [c0, app [global (const =C2=ABBu=
ilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]] X175^1",
"goal_id": 1725
},
"cut_branch": {
- "rule_text":
- "(std.take A0 [A1 | A2] [A1 | A3]) :- (!), (A4 is A0 - 1),=
\n (std.take A4 A2 A3).",
+ "rule_text": "(std.take A0 [A1 | A2] [A1 | A3]) :- (!), (A4 =
is A0 - 1), \n (std.take A4 A2 A3).",
"rule_loc": [
"File",
{
@@ -266389,13 +257848,11 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "std.take 0 \n [c0, app [global (const =C2=ABBuilders_18.H=
B_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders=
_18.HB_unnamed_factory_22=C2=BB), c0, c1]] X175^1",
+ "goal_text": "std.take 0 \n [c0, app [global (const =C2=ABBu=
ilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]] X175^1",
"goal_id": 1725
},
"cut_branch": {
- "rule_text":
- "(std.take _ _ _) :- (std.fatal-error take run out of list=
items).",
+ "rule_text": "(std.take _ _ _) :- (std.fatal-error take run =
out of list items).",
"rule_loc": [
"File",
{
@@ -266419,8 +257876,7 @@
"Inference",
{
"current_goal_id": 1726,
- "current_goal_text":
- "std.debug-print ---->>---- exit: \n (std.take 0 \n [c0, app =
[global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n =
app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c=
1]] [])",
+ "current_goal_text": "std.debug-print ---->>---- exit: \n (std.ta=
ke 0 \n [c0, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=
=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_fac=
tory_22=C2=BB), c0, c1]] [])",
"current_goal_predicate": "std.debug-print",
"failed_attempts": [],
"successful_attempts": [
@@ -266429,8 +257885,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).",
+ "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A=
0 A1).",
"rule_loc": [
"File",
{
@@ -266453,8 +257908,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1738 },
{
- "goal_text":
- "coq.say ---->>---- exit: \n (std.take 0 \n [c0, app =
[global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n =
app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c=
1]] [])",
+ "goal_text": "coq.say ---->>---- exit: \n (std.take 0 \n =
[c0, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c=
0, c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=
=BB), c0, c1]] [])",
"goal_id": 1739
}
],
@@ -266467,8 +257921,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).",
+ "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A0 =
A1).",
"rule_loc": [
"File",
{
@@ -266487,8 +257940,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -266507,13 +257959,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -266538,13 +257988,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -266578,8 +258026,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -266655,13 +258102,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -266676,8 +258121,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -266772,13 +258216,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -266870,13 +258312,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -266891,13 +258331,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -266912,13 +258350,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -266933,13 +258369,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -267011,13 +258445,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -267108,13 +258540,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -267148,13 +258578,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -267188,13 +258616,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -267209,13 +258635,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -267515,13 +258939,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -267540,8 +258962,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -267566,13 +258987,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -267587,8 +259006,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -267623,8 +259041,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "std.debug-print ---->>---- exit: \n (std.take 0 \n [c0=
, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1=
], \n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB),=
c0, c1]] \n X175^1)",
+ "goal_text": "std.debug-print ---->>---- exit: \n (std.take=
0 \n [c0, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=
=BB), c0, c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_factor=
y_22=C2=BB), c0, c1]] \n X175^1)",
"goal_id": 1726
},
"cut_branch": {
@@ -267652,8 +259069,7 @@
"Inference",
{
"current_goal_id": 1739,
- "current_goal_text":
- "coq.say ---->>---- exit: \n (std.take 0 \n [c0, app [global =
(const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [=
global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]] [])",
+ "current_goal_text": "coq.say ---->>---- exit: \n (std.take 0 \n =
[c0, app [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c=
0, c1], \n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=
=BB), c0, c1]] [])",
"current_goal_predicate": "coq.say",
"failed_attempts": [],
"successful_attempts": [
@@ -267677,8 +259093,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).",
+ "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A0 =
A1).",
"rule_loc": [
"File",
{
@@ -267697,8 +259112,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1=
=3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print ----<<---- =
enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
+ "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (=
if (not (A1 =3D 0)) (std.debug-print run=3D A1) true), \n (std.debug-print =
----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).",
"rule_loc": [
"File",
{
@@ -267717,13 +259131,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -267748,13 +259160,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!)=
, \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 (A2 c0) A3)=
)).",
+ "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2)=
A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 =3D> extract-conclusion-params A0 =
(A2 c0) A3))).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 115,
"column": 0,
"character": 3974
@@ -267788,8 +259198,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 =
A0), (!).",
+ "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error=
-w-data A1 A0), (!).",
"rule_loc": [
"File",
{
@@ -267865,13 +259274,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -267886,8 +259293,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -267982,13 +259388,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -268080,13 +259484,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -268101,13 +259503,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -268122,13 +259522,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -268143,13 +259541,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -268221,13 +259617,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -268318,13 +259712,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -268358,13 +259750,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -268398,13 +259788,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -268419,13 +259807,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -268725,13 +260111,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -268750,8 +260134,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -268776,13 +260159,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -268797,8 +260178,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -268837,8 +260217,7 @@
"goal_id": 1613
},
"cut_branch": {
- "rule_text":
- "(std.spy A0) :- (std.debug-print ---->>---- fail: A0), f=
ail.",
+ "rule_text": "(std.spy A0) :- (std.debug-print ---->>---- fa=
il: A0), fail.",
"rule_loc": [
"File",
{
@@ -268856,8 +260235,7 @@
"goal_id": 1611
},
"cut_branch": {
- "rule_text":
- "(factory-nparams (indt =C2=ABSelfA.axioms_=C2=BB) 0) :- .=
",
+ "rule_text": "(factory-nparams (indt =C2=ABSelfA.axioms_=C2=
=BB) 0) :- .",
"rule_loc": [
"File",
{
@@ -268875,8 +260253,7 @@
"goal_id": 1611
},
"cut_branch": {
- "rule_text":
- "(factory-nparams (indt =C2=ABIsSelfA'.axioms_=C2=BB) 0) :=
- .",
+ "rule_text": "(factory-nparams (indt =C2=ABIsSelfA'.axioms_=
=C2=BB) 0) :- .",
"rule_loc": [
"File",
{
@@ -268890,8 +260267,7 @@
},
{
"cut_branch_for_goal": {
- "goal_text":
- "extract-conclusion-params c0 \n (prod `fresh_name_19` (ap=
p [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n ap=
p\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (=
const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [=
global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n =
X175^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin=
whose parameters depend on other mixins \n (extract-conclusion-params c0 =
\n (prod `fresh_name_19` \n (app [global (const =C2=ABIsSelfA'.phan=
t_axioms=C2=BB), c0]) c1 \\\n app\n [global (indt =C2=ABIsSelfA.=
axioms_=C2=BB), c0, \n app [global (const =C2=ABBuilders_18.HB_unnam=
ed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=ABBuilders_=
18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1)",
+ "goal_text": "extract-conclusion-params c0 \n (prod `fresh_n=
ame_19` (app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c=
1 \\\n app\n [global (indt =C2=ABIsSelfA.axioms_=C2=BB), c0, \n ap=
p [global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB), c0, c1], \=
n app [global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0=
, c1]]) \n X175^1 ;\n std.fatal-error-w-data\n The conclusion of a builder=
is a mixin whose parameters depend on other mixins \n (extract-conclusion=
-params c0 \n (prod `fresh_name_19` \n (app [global (const =C2=ABIs=
SelfA'.phant_axioms=C2=BB), c0]) c1 \\\n app\n [global (indt =C2=
=ABIsSelfA.axioms_=C2=BB), c0, \n app [global (const =C2=ABBuilders_=
18.HB_unnamed_factory_20=C2=BB), c0, c1], \n app [global (const =C2=
=ABBuilders_18.HB_unnamed_factory_22=C2=BB), c0, c1]]) \n X175^1)",
"goal_id": 1602
},
"cut_branch": {
@@ -269034,13 +260410,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -269055,8 +260429,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -269151,13 +260524,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -269249,13 +260620,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -269270,13 +260639,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -269291,13 +260658,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -269312,13 +260677,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -269390,13 +260753,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -269487,13 +260848,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -269527,13 +260886,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -269567,13 +260924,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -269588,13 +260943,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -269894,13 +261247,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -269919,8 +261270,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -269945,13 +261295,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -269966,8 +261314,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -269999,8 +261346,7 @@
"Inference",
{
"current_goal_id": 1578,
- "current_goal_text":
- "std.map2\n [global (const =C2=ABBuilders_18.HB_unnamed_factory_=
22=C2=BB), \n global (const =C2=ABBuilders_18.HB_unnamed_factory_20=C2=BB)=
] \n [indt =C2=ABHasB.axioms_=C2=BB, indt =C2=ABHasA.axioms_=C2=BB] (factor=
y-provides.one [] c0) \n X174^1",
+ "current_goal_text": "std.map2\n [global (const =C2=ABBuilders_18.=
HB_unnamed_factory_22=C2=BB), \n global (const =C2=ABBuilders_18.HB_unname=
d_factory_20=C2=BB)] \n [indt =C2=ABHasB.axioms_=C2=BB, indt =C2=ABHasA.axi=
oms_=C2=BB] (factory-provides.one [] c0) \n X174^1",
"current_goal_predicate": "std.map2",
"failed_attempts": [],
"successful_attempts": [
@@ -270009,8 +261355,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0=
A2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]=
) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -270039,13 +261384,11 @@
},
"siblings": [
{
- "goal_text":
- "factory-provides.one [] c0 \n (global (const =C2=ABBuil=
ders_18.HB_unnamed_factory_22=C2=BB)) \n (indt =C2=ABHasB.axioms_=C2=BB) X2=
28^1",
+ "goal_text": "factory-provides.one [] c0 \n (global (const=
=C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB)) \n (indt =C2=ABHasB.axioms=
_=C2=BB) X228^1",
"goal_id": 1740
},
{
- "goal_text":
- "std.map2 [global (const =C2=ABBuilders_18.HB_unnamed_fa=
ctory_20=C2=BB)] \n [indt =C2=ABHasA.axioms_=C2=BB] (factory-provides.one [=
] c0) X229^1",
+ "goal_text": "std.map2 [global (const =C2=ABBuilders_18.HB=
_unnamed_factory_20=C2=BB)] \n [indt =C2=ABHasA.axioms_=C2=BB] (factory-pro=
vides.one [] c0) X229^1",
"goal_id": 1741
}
],
@@ -270058,8 +261401,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -270078,8 +261420,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -270174,13 +261515,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -270272,13 +261611,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -270293,13 +261630,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -270314,13 +261649,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -270335,13 +261668,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -270413,13 +261744,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -270510,13 +261839,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -270550,13 +261877,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -270590,13 +261915,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -270611,13 +261934,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -270917,13 +262238,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -270942,8 +262261,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -270968,13 +262286,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -270989,8 +262305,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -271022,8 +262337,7 @@
"Inference",
{
"current_goal_id": 1740,
- "current_goal_text":
- "factory-provides.one [] c0 \n (global (const =C2=ABBuilders_18.=
HB_unnamed_factory_22=C2=BB)) \n (indt =C2=ABHasB.axioms_=C2=BB) X228^1",
+ "current_goal_text": "factory-provides.one [] c0 \n (global (const=
=C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB)) \n (indt =C2=ABHasB.axioms=
_=C2=BB) X228^1",
"current_goal_predicate": "factory-provides.one",
"failed_attempts": [],
"successful_attempts": [
@@ -271032,13 +262346,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) =
:- (std.do!\n [std=
.assert-ok!\n (c=
oq.typecheck\n =
A2 A5) \n Build=
er illtyped, \n (=
coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend =
on other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple =
A3 A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose paramet=
ers depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/=
database.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/=
HB/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -271062,8 +262374,7 @@
},
"siblings": [
{
- "goal_text":
- "std.do!\n [std.assert-ok!\n (coq.typecheck (global (c=
onst =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB)) \n X231^1) Builder=
illtyped, \n (coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^=
1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n =
The conclusion of a builder is a mixin whose parameters depend on other m=
ixins]",
+ "goal_text": "std.do!\n [std.assert-ok!\n (coq.typecheck=
(global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB)) \n X231=
^1) Builder illtyped, \n (coq.subst-prod [] X231^1 X232^1 , coq.subst-prod=
[c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 =
X230^1) \n The conclusion of a builder is a mixin whose parameters depend=
on other mixins]",
"goal_id": 1742
}
],
@@ -271076,13 +262387,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -271097,8 +262406,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -271117,8 +262425,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -271213,13 +262520,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -271311,13 +262616,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -271332,13 +262635,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -271353,13 +262654,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -271374,13 +262673,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -271452,13 +262749,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -271549,13 +262844,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -271589,13 +262882,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -271629,13 +262920,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -271650,13 +262939,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -271956,13 +263243,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -271981,8 +263266,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -272007,13 +263291,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -272028,8 +263310,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -272061,8 +263342,7 @@
"Inference",
{
"current_goal_id": 1742,
- "current_goal_text":
- "std.do!\n [std.assert-ok!\n (coq.typecheck (global (const =C2=
=ABBuilders_18.HB_unnamed_factory_22=C2=BB)) \n X231^1) Builder illtype=
d, \n (coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1=
), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The co=
nclusion of a builder is a mixin whose parameters depend on other mixins]",
+ "current_goal_text": "std.do!\n [std.assert-ok!\n (coq.typecheck=
(global (const =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB)) \n X231=
^1) Builder illtyped, \n (coq.subst-prod [] X231^1 X232^1 , coq.subst-prod=
[c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 =
X230^1) \n The conclusion of a builder is a mixin whose parameters depend=
on other mixins]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -272071,8 +263351,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -272097,14 +263376,12 @@
},
"siblings": [
{
- "goal_text":
- "std.assert-ok!\n (coq.typecheck (global (const =C2=ABBu=
ilders_18.HB_unnamed_factory_22=C2=BB)) X231^1) \n Builder illtyped",
+ "goal_text": "std.assert-ok!\n (coq.typecheck (global (con=
st =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB)) X231^1) \n Builder illty=
ped",
"goal_id": 1743
},
{ "goal_text": "!", "goal_id": 1744 },
{
- "goal_text":
- "std.do!\n [(coq.subst-prod [] X231^1 X232^1 , coq.subst=
-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X2=
33^1 X230^1) \n The conclusion of a builder is a mixin whose parameters d=
epend on other mixins]",
+ "goal_text": "std.do!\n [(coq.subst-prod [] X231^1 X232^1 =
, coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-p=
arams c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose p=
arameters depend on other mixins]",
"goal_id": 1745
}
],
@@ -272136,13 +263413,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -272157,8 +263432,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -272177,8 +263451,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -272273,13 +263546,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -272371,13 +263642,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -272392,13 +263661,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -272413,13 +263680,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -272434,13 +263699,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -272512,13 +263775,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -272609,13 +263870,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -272649,13 +263908,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -272689,13 +263946,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -272710,13 +263965,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -273016,13 +264269,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -273041,8 +264292,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -273067,13 +264317,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -273088,8 +264336,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -273121,8 +264368,7 @@
"Inference",
{
"current_goal_id": 1743,
- "current_goal_text":
- "std.assert-ok!\n (coq.typecheck (global (const =C2=ABBuilders_1=
8.HB_unnamed_factory_22=C2=BB)) X231^1) \n Builder illtyped",
+ "current_goal_text": "std.assert-ok!\n (coq.typecheck (global (con=
st =C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB)) X231^1) \n Builder illty=
ped",
"current_goal_predicate": "std.assert-ok!",
"failed_attempts": [],
"successful_attempts": [
@@ -273131,8 +264377,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok=
; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n=
(A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -273154,14 +264399,12 @@
},
"siblings": [
{
- "goal_text":
- "coq.typecheck (global (const =C2=ABBuilders_18.HB_unnam=
ed_factory_22=C2=BB)) X231^1 \n X234^1",
+ "goal_text": "coq.typecheck (global (const =C2=ABBuilders_=
18.HB_unnamed_factory_22=C2=BB)) X231^1 \n X234^1",
"goal_id": 1746
},
{ "goal_text": "!", "goal_id": 1747 },
{
- "goal_text":
- "X234^1 =3D ok ;\n X234^1 =3D error X235^1 , std.fatal-e=
rror-w-data Builder illtyped X235^1",
+ "goal_text": "X234^1 =3D ok ;\n X234^1 =3D error X235^1 , =
std.fatal-error-w-data Builder illtyped X235^1",
"goal_id": 1748
},
{ "goal_text": "!", "goal_id": 1749 }
@@ -273175,8 +264418,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -273214,13 +264456,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -273235,8 +264475,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -273255,8 +264494,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -273351,13 +264589,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -273449,13 +264685,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -273470,13 +264704,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -273491,13 +264723,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -273512,13 +264742,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -273590,13 +264818,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -273687,13 +264913,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -273727,13 +264951,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -273767,13 +264989,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -273788,13 +265008,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -274094,13 +265312,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -274119,8 +265335,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -274145,13 +265360,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -274166,8 +265379,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -274199,8 +265411,7 @@
"Inference",
{
"current_goal_id": 1746,
- "current_goal_text":
- "coq.typecheck (global (const =C2=ABBuilders_18.HB_unnamed_facto=
ry_22=C2=BB)) X231^1 \n X234^1",
+ "current_goal_text": "coq.typecheck (global (const =C2=ABBuilders_=
18.HB_unnamed_factory_22=C2=BB)) X231^1 \n X234^1",
"current_goal_predicate": "coq.typecheck",
"failed_attempts": [],
"successful_attempts": [
@@ -274211,8 +265422,7 @@
},
"siblings": [
{
- "goal_text":
- "X231^1 =3D\n prod `T` (sort (typ =C2=ABinterleave_conte=
xt.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =C2=ABIsSe=
lfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (indt =C2=AB=
HasB.axioms_=C2=BB), \n app\n [global\n (const =C2=ABBuilde=
rs_18.Builders_18_T__canonical__interleave_context_A=C2=BB), \n c1, c=
2], c1]",
+ "goal_text": "X231^1 =3D\n prod `T` (sort (typ =C2=ABinter=
leave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const=
=C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (=
indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global\n (const =
=C2=ABBuilders_18.Builders_18_T__canonical__interleave_context_A=C2=BB), \n=
c1, c2], c1]",
"goal_id": 1750
},
{ "goal_text": "X234^1 =3D ok", "goal_id": 1751 }
@@ -274231,8 +265441,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -274270,13 +265479,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -274291,8 +265498,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -274311,8 +265517,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -274407,13 +265612,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -274505,13 +265708,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -274526,13 +265727,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -274547,13 +265746,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -274568,13 +265765,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -274646,13 +265841,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -274743,13 +265936,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -274783,13 +265974,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -274823,13 +266012,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -274844,13 +266031,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -275150,13 +266335,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -275175,8 +266358,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -275201,13 +266383,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -275222,8 +266402,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -275255,8 +266434,7 @@
"Inference",
{
"current_goal_id": 1750,
- "current_goal_text":
- "X231^1 =3D\n prod `T` (sort (typ =C2=ABinterleave_context.396=
=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =C2=ABIsSelfA'.p=
hant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (indt =C2=ABHasB.a=
xioms_=C2=BB), \n app\n [global\n (const =C2=ABBuilders_18.=
Builders_18_T__canonical__interleave_context_A=C2=BB), \n c1, c2], c1=
]",
+ "current_goal_text": "X231^1 =3D\n prod `T` (sort (typ =C2=ABinter=
leave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const=
=C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (=
indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global\n (const =
=C2=ABBuilders_18.Builders_18_T__canonical__interleave_context_A=C2=BB), \n=
c1, c2], c1]",
"current_goal_predicate": "=3D",
"failed_attempts": [],
"successful_attempts": [
@@ -275290,8 +266468,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -275329,13 +266506,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -275350,8 +266525,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -275370,8 +266544,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -275466,13 +266639,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -275564,13 +266735,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -275585,13 +266754,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -275606,13 +266773,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -275627,13 +266792,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -275705,13 +266868,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -275802,13 +266963,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -275842,13 +267001,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -275882,13 +267039,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -275903,13 +267058,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -276209,13 +267362,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -276234,8 +267385,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -276260,13 +267410,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -276281,8 +267429,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -276343,8 +267490,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -276382,13 +267528,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -276403,8 +267547,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -276423,8 +267566,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -276519,13 +267661,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -276617,13 +267757,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -276638,13 +267776,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -276659,13 +267795,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -276680,13 +267814,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -276758,13 +267890,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -276855,13 +267985,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -276895,13 +268023,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -276935,13 +268061,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -276956,13 +268080,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -277262,13 +268384,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -277287,8 +268407,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -277313,13 +268432,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -277334,8 +268451,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -277370,13 +268486,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "std.assert-ok!\n (coq.typecheck (global (const =C2=ABBuil=
ders_18.HB_unnamed_factory_22=C2=BB)) X231^1) \n Builder illtyped",
+ "goal_text": "std.assert-ok!\n (coq.typecheck (global (const=
=C2=ABBuilders_18.HB_unnamed_factory_22=C2=BB)) X231^1) \n Builder illtype=
d",
"goal_id": 1743
},
"cut_branch": {
- "rule_text":
- "(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no di=
agnostic returned).",
+ "rule_text": "(std.assert-ok! _ A0) :- (std.fatal-error-w-da=
ta A0 no diagnostic returned).",
"rule_loc": [
"File",
{
@@ -277400,8 +268514,7 @@
"Inference",
{
"current_goal_id": 1748,
- "current_goal_text":
- "ok =3D ok ; ok =3D error X235^1 , std.fatal-error-w-data Builde=
r illtyped X235^1",
+ "current_goal_text": "ok =3D ok ; ok =3D error X235^1 , std.fatal-=
error-w-data Builder illtyped X235^1",
"current_goal_predicate": ";",
"failed_attempts": [],
"successful_attempts": [
@@ -277453,8 +268566,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -277492,13 +268604,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -277513,8 +268623,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -277533,8 +268642,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -277629,13 +268737,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -277727,13 +268833,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -277748,13 +268852,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -277769,13 +268871,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -277790,13 +268890,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -277868,13 +268966,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -277965,13 +269061,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -278005,13 +269099,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -278045,13 +269137,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -278066,13 +269156,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -278372,13 +269460,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -278397,8 +269483,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -278423,13 +269508,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -278444,8 +269527,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -278520,8 +269602,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 =3D ok ;=
A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
+ "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (=
A2 =3D ok ; A2 =3D error A3 , std.fatal-error-w-data A1 A3), (!).",
"rule_loc": [
"File",
{
@@ -278559,13 +269640,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -278580,8 +269659,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -278600,8 +269678,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -278696,13 +269773,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -278794,13 +269869,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -278815,13 +269888,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -278836,13 +269907,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -278857,13 +269926,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -278935,13 +270002,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -279032,13 +270097,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -279072,13 +270135,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -279112,13 +270173,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -279133,13 +270192,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -279439,13 +270496,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -279464,8 +270519,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -279490,13 +270544,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -279511,8 +270563,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -279547,8 +270598,7 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "X234^1 =3D ok ;\n X234^1 =3D error X235^1 , std.fatal-err=
or-w-data Builder illtyped X235^1",
+ "goal_text": "X234^1 =3D ok ;\n X234^1 =3D error X235^1 , st=
d.fatal-error-w-data Builder illtyped X235^1",
"goal_id": 1748
},
"cut_branch": {
@@ -279582,8 +270632,7 @@
"Inference",
{
"current_goal_id": 1745,
- "current_goal_text":
- "std.do!\n [(coq.subst-prod [] \n (prod `T` (sort (typ =C2=AB=
interleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` \n (=
app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) c2 \\\n a=
pp\n [global (indt =C2=ABHasB.axioms_=C2=BB), \n app\n =
[global\n (const\n =C2=ABBuilders_18.Builders_1=
8_T__canonical__interleave_context_A=C2=BB), \n c1, c2], c1]) X23=
2^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusi=
on-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin who=
se parameters depend on other mixins]",
+ "current_goal_text": "std.do!\n [(coq.subst-prod [] \n (prod `T=
` (sort (typ =C2=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_=
name_19` \n (app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c=
1]) c2 \\\n app\n [global (indt =C2=ABHasB.axioms_=C2=BB), \n =
app\n [global\n (const\n =C2=ABBui=
lders_18.Builders_18_T__canonical__interleave_context_A=C2=BB), \n =
c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert=
! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a bui=
lder is a mixin whose parameters depend on other mixins]",
"current_goal_predicate": "std.do!",
"failed_attempts": [],
"successful_attempts": [
@@ -279592,8 +270641,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).",
+ "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A=
1).",
"rule_loc": [
"File",
{
@@ -279618,14 +270666,12 @@
},
"siblings": [
{
- "goal_text":
- "coq.subst-prod [] \n (prod `T` (sort (typ =C2=ABinterle=
ave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =
=C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global=
(indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global\n (co=
nst\n =C2=ABBuilders_18.Builders_18_T__canonical__interleave_cont=
ext_A=C2=BB), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X=
233^1",
+ "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ =
=C2=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [g=
lobal (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\=
n [global (indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global\=
n (const\n =C2=ABBuilders_18.Builders_18_T__canonical__in=
terleave_context_A=C2=BB), \n c1, c2], c1]) X232^1 , coq.subst-prod =
[c0] X232^1 X233^1",
"goal_id": 1753
},
{ "goal_text": "!", "goal_id": 1754 },
{
- "goal_text":
- "std.do!\n [std.assert! (extract-conclusion-params c0 X2=
33^1 X230^1) \n The conclusion of a builder is a mixin whose parameters d=
epend on other mixins]",
+ "goal_text": "std.do!\n [std.assert! (extract-conclusion-p=
arams c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose p=
arameters depend on other mixins]",
"goal_id": 1755
}
],
@@ -279676,13 +270722,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -279697,8 +270741,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -279717,8 +270760,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -279813,13 +270855,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -279911,13 +270951,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -279932,13 +270970,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -279953,13 +270989,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -279974,13 +271008,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -280052,13 +271084,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -280149,13 +271179,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -280189,13 +271217,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -280229,13 +271255,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -280250,13 +271274,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -280556,13 +271578,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -280581,8 +271601,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -280607,13 +271626,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -280628,8 +271645,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -280661,8 +271677,7 @@
"Inference",
{
"current_goal_id": 1753,
- "current_goal_text":
- "coq.subst-prod [] \n (prod `T` (sort (typ =C2=ABinterleave_cont=
ext.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =C2=ABIs=
SelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (indt =
=C2=ABHasB.axioms_=C2=BB), \n app\n [global\n (const\n =
=C2=ABBuilders_18.Builders_18_T__canonical__interleave_context_A=
=C2=BB), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1=
",
+ "current_goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ =
=C2=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [g=
lobal (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\=
n [global (indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global\=
n (const\n =C2=ABBuilders_18.Builders_18_T__canonical__in=
terleave_context_A=C2=BB), \n c1, c2], c1]) X232^1 , coq.subst-prod =
[c0] X232^1 X233^1",
"current_goal_predicate": ",",
"failed_attempts": [],
"successful_attempts": [
@@ -280673,8 +271688,7 @@
},
"siblings": [
{
- "goal_text":
- "coq.subst-prod [] \n (prod `T` (sort (typ =C2=ABinterle=
ave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =
=C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global=
(indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global\n (co=
nst\n =C2=ABBuilders_18.Builders_18_T__canonical__interleave_cont=
ext_A=C2=BB), \n c1, c2], c1]) X232^1",
+ "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ =
=C2=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [g=
lobal (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\=
n [global (indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global\=
n (const\n =C2=ABBuilders_18.Builders_18_T__canonical__in=
terleave_context_A=C2=BB), \n c1, c2], c1]) X232^1",
"goal_id": 1756
},
{
@@ -280734,13 +271748,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -280755,8 +271767,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -280775,8 +271786,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -280871,13 +271881,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -280969,13 +271977,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -280990,13 +271996,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -281011,13 +272015,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -281032,13 +272034,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -281110,13 +272110,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -281207,13 +272205,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -281247,13 +272243,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -281287,13 +272281,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -281308,13 +272300,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -281614,13 +272604,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -281639,8 +272627,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -281665,13 +272652,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -281686,8 +272671,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -281719,8 +272703,7 @@
"Inference",
{
"current_goal_id": 1756,
- "current_goal_text":
- "coq.subst-prod [] \n (prod `T` (sort (typ =C2=ABinterleave_cont=
ext.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =C2=ABIs=
SelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (indt =
=C2=ABHasB.axioms_=C2=BB), \n app\n [global\n (const\n =
=C2=ABBuilders_18.Builders_18_T__canonical__interleave_context_A=
=C2=BB), \n c1, c2], c1]) X232^1",
+ "current_goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ =
=C2=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [g=
lobal (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\=
n [global (indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global\=
n (const\n =C2=ABBuilders_18.Builders_18_T__canonical__in=
terleave_context_A=C2=BB), \n c1, c2], c1]) X232^1",
"current_goal_predicate": "coq.subst-prod",
"failed_attempts": [],
"successful_attempts": [
@@ -281824,13 +272807,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -281845,8 +272826,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -281865,8 +272845,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -281961,13 +272940,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -282059,13 +273036,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -282080,13 +273055,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -282101,13 +273074,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -282122,13 +273093,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -282200,13 +273169,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -282297,13 +273264,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -282337,13 +273302,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -282377,13 +273340,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -282398,13 +273359,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -282704,13 +273663,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -282729,8 +273686,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -282755,13 +273711,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -282776,8 +273730,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -282812,13 +273765,11 @@
"cut_victims": [
{
"cut_branch_for_goal": {
- "goal_text":
- "coq.subst-prod [] \n (prod `T` (sort (typ =C2=ABinterleav=
e_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =
=C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global=
(indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global\n (co=
nst\n =C2=ABBuilders_18.Builders_18_T__canonical__interleave_cont=
ext_A=C2=BB), \n c1, c2], c1]) X232^1",
+ "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ =C2=
=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [glob=
al (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n =
[global (indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global\n =
(const\n =C2=ABBuilders_18.Builders_18_T__canonical__inter=
leave_context_A=C2=BB), \n c1, c2], c1]) X232^1",
"goal_id": 1756
},
"cut_branch": {
- "rule_text":
- "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.su=
bst-prod A0 (A2 A1) A3).",
+ "rule_text": "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!),=
\n (coq.subst-prod A0 (A2 A1) A3).",
"rule_loc": [
"File",
{
@@ -282842,8 +273793,7 @@
"Inference",
{
"current_goal_id": 1757,
- "current_goal_text":
- "coq.subst-prod [c0] \n (prod `T` (sort (typ =C2=ABinterleave_co=
ntext.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [global (const =C2=AB=
IsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\n [global (indt=
=C2=ABHasB.axioms_=C2=BB), \n app\n [global\n (const\n =
=C2=ABBuilders_18.Builders_18_T__canonical__interleave_context_A=
=C2=BB), \n c1, c2], c1]) X233^1",
+ "current_goal_text": "coq.subst-prod [c0] \n (prod `T` (sort (typ =
=C2=ABinterleave_context.396=C2=BB)) c1 \\\n prod `fresh_name_19` (app [g=
lobal (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c1]) \n c2 \\\n app\=
n [global (indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global\=
n (const\n =C2=ABBuilders_18.Builders_18_T__canonical__in=
terleave_context_A=C2=BB), \n c1, c2], c1]) X233^1",
"current_goal_predicate": "coq.subst-prod",
"failed_attempts": [],
"successful_attempts": [
@@ -282852,8 +273802,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \=
n (coq.subst-prod A1 (A2 A0) A3).",
+ "rule_text": "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3=
) :- (!), \n (coq.subst-prod A1 (A2 A0) A3).",
"rule_loc": [
"File",
{
@@ -282878,8 +273827,7 @@
"siblings": [
{ "goal_text": "!", "goal_id": 1759 },
{
- "goal_text":
- "coq.subst-prod [] \n (prod `fresh_name_19` (app [global=
(const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n app\n [g=
lobal (indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global\n (=
const =C2=ABBuilders_18.Builders_18_T__canonical__interleave_context_A=C2=
=BB), \n c0, c1], c0]) X233^1",
+ "goal_text": "coq.subst-prod [] \n (prod `fresh_name_19` (=
app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n =
app\n [global (indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global=
\n (const =C2=ABBuilders_18.Builders_18_T__canonical__interleave_con=
text_A=C2=BB), \n c0, c1], c0]) X233^1",
"goal_id": 1760
}
],
@@ -282892,8 +273840,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n =
(coq.subst-prod A1 (A2 A0) A3).",
+ "rule_text": "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) =
:- (!), \n (coq.subst-prod A1 (A2 A0) A3).",
"rule_loc": [
"File",
{
@@ -282955,13 +273902,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3=
A4 A1)) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A2 A5) \n =
Builder illtyped, \n =
(coq.subst-prod\n =
A0 A5 A7 ,\n =
coq.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n =
(extract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameter=
s depend on other mixins]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 108,
"column": 0,
"character": 3601
@@ -282976,8 +273921,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -282996,8 +273940,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A=
2 A5), \n (std.map2 A1 A3 A4 A6).",
+ "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) =
:- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).",
"rule_loc": [
"File",
{
@@ -283092,13 +274035,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.base A0 A1 A2 _ A3) :- (std.do!\n =
[std.findall (from A0 A4 A5) A6, \n =
std.map A6 from_mixin A7, \n =
std.map A6 from_builder A8, \n =
std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
+ "rule_text": "(factory-provides.base A0 A1 A2 _ A3) :- (st=
d.do!\n [std.findall (from A0 A4 =
A5) A6, \n std.map A6 from_mixin=
A7, \n std.map A6 from_builder =
A8, \n std.map2 A8 A7 \n =
(factory-provides.one A1 A2) A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 100,
"column": 0,
"character": 3290
@@ -283190,13 +274131,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold.params (w-params.nil A0 A1 A2) _ A3 A4 A=
5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7 A6 A1 A2 A=
5]).",
+ "rule_text": "(w-params.fold.params (w-params.nil A0 A1 A2=
) _ A3 A4 A5) :- (!), \n (std.do! [coq.id->name A0 A6, std.rev A4 A7, A3 A7=
A6 A1 A2 A5]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 224,
"column": 0,
"character": 8609
@@ -283211,13 +274150,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0=
A1 A2 [] A3).",
+ "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fol=
d.params A0 A1 A2 [] A3).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 213,
"column": 0,
"character": 8143
@@ -283232,13 +274169,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 =
(c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n =
(sigma (c5 \\\n =
(pi (c6 \\\n (decl c6 c1=
c2 =3D>\n A3 c0 c6 (c3 c6) (c5 c6=
))) ,\n A2 c1 c2 c5 c4)))))))) A4).",
+ "rule_text": "(w-params.then A0 A1 A2 A3 A4) :- (w-params.=
fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\=
(c4 \\\n (sigma (c5 \\\n =
(pi (c6 \\\n =
(decl c6 c1 c2 =3D>\n A3 c0 c6 (c3=
c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))=
))))) A4).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 239,
"column": 0,
"character": 9183
@@ -283253,13 +274188,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-param=
s.cons-name \n mk-w-params.nil-name A1 A2).",
+ "rule_text": "(w-params.map A0 A1 A2) :- (w-params.then A0=
mk-w-params.cons-name \n mk-w-params.nil-name =
A1 A2).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 245,
"column": 0,
"character": 9440
@@ -283331,13 +274264,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).",
+ "rule_text": "(factory-provides A0 A1) :- (std.do!\n =
[factory-alias->gref A0 A2, gref-deps A2 A3, \n =
w-params.map A3 (factory-provides.base A2) A1]).=
",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/da=
tabase.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/database.elpi",
"line": 86,
"column": 0,
"character": 2829
@@ -283428,13 +274359,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.private.factory-instance->new-mixins A0 A1 A=
2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\n =
A3 A8) \n =
(coq.error\n =
Term:\n \n =
A7 \n =
\nhas type=
:\n \n A=
8 \n \nw=
hich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
+ "rule_text": "(synthesis.private.factory-instance->new-mix=
ins A0 A1 A2) :- (std.do!\n =
[std.assert-ok!\n =
(coq.typecheck\n =
A1 A3) \n =
mixin-src: X illtyped, \n =
if\n =
(not\n =
(coq.safe-dest-app\n =
A3 \n =
(global _) \n =
_)) \n =
(,\n =
(coq.term->string\n =
A1 A7) \n =
(coq.term->string\=
n A3 A8)=
\n (coq.=
error\n =
Term:\n \n =
A7 \n =
\nhas type:\n \n =
A8 \n =
\nwhich is not a record)) \n =
true, \n =
coq.term->gref\n =
A3 A4, \n =
factory-provides\n =
A4 A5, \n =
list-w-params_list\n =
A5 A6, \n =
std.filter\n =
A6 (c0 \\\n =
(not\n =
(std.mem!\n =
A0 c0))) \n =
A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 289,
"column": 0,
"character": 12694
@@ -283468,13 +274397,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(synthesis.under-mixin-src-from-factory.do! A0 A1 A2) :=
- (std.do!\n [syn=
thesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
+ "rule_text": "(synthesis.under-mixin-src-from-factory.do! =
A0 A1 A2) :- (std.do!\n =
[synthesis.private.factory-instance->new-mixins\n =
[] A1 A3, \n =
std.map A3 (c0 \\\n =
(c1 \\\n =
(c1 =3D\n =
mixin-src A0 \n =
c0 A1))) A4, \n =
A4 =3D> std.do! A2]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/sy=
nthesis.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/synthesis.elpi",
"line": 100,
"column": 0,
"character": 4390
@@ -283508,13 +274435,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-canonical-instances-from-fact=
ory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-from-factory.=
do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A1 \n [=
(factory-provides A0 A7 , list-w-params_list A7 A4), \n instance.priv=
ate.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-for A4 A8 , =
instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
+ "rule_text": "(instance.private.declare-canonical-instance=
s-from-factory A0 A1 A2 A3) :- (\n std.do!\n [synthesis.under-mixin-src-fr=
om-factory.do! A1 A2 \n [synthesis.under-local-canonical-mixins-of.do! A=
1 \n [(factory-provides A0 A7 , list-w-params_list A7 A4), \n in=
stance.private.add-all-mixins A1 A0 A4 tt _ A5, \n (findall-classes-f=
or A4 A8 , instance.declare-all A1 A8 A6)]], \n std.append A5 A6 A3]).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 282,
"column": 0,
"character": 12180
@@ -283529,13 +274454,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.private.declare-instance A0 A1 A2 A3 A4) :- (=
instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (get-option ex=
port tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0 \\ (c1 \\\=
n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c1 =3D insta=
nce-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
+ "rule_text": "(instance.private.declare-instance A0 A1 A2 =
A3 A4) :- (instance.private.declare-canonical-instances-from-factory\n =
A0 A1 A2 A4), \n (if (ge=
t-option export tt) \n (coq.env.current-library A5 ,\n std.map A4 (c0=
\\ (c1 \\\n (sigma (c2 \\\n (sigma (c3 \\ (c0 =3D pr c2 c3 , c=
1 =3D instance-to-export A5 c2 c3))))))) \n A3) (A3 =3D [])).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 196,
"column": 0,
"character": 8410
@@ -283835,13 +274758,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n =
[std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n (if=
-verbose\n (coq.say\n =
HB: skipping section opening)\n =
, A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n (std.any=
->string A21 A22) \n (A9 is =
hb_instance_ ^ A22)) \n (log.c=
oq.env.begin-section A9) \n (i=
nstance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n std.as=
sert!\n (coq.safe-dest-app A7 \n=
(global A10) A11) \n =
The type of the instance is not a factor=
y, \n factory-alias->gref A10 A12=
, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-discharging\n =
A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n i=
f (A0 =3D _) \n (, (new_int A23)=
\n (std.any->string A23 A24) =
\n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (header A25 ,\n =
coq.say A25 \n =
closing instance section) ,\n =
log.coq.env.end-section-name A9), \n =
acc-clauses current A20]).",
+ "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std=
.do!\n [std.assert-ok!\n =
(coq.elaborate-arity-skeleton A2 \n =
_ A4) Definition type illtyped, \n =
coq.arity->term A4 A5, \n =
std.assert-ok!\n =
(coq.elaborate-skeleton A1 A5 A6) \n =
Definition illtyped, \n =
if (A4 =3D arity A7) \n =
(if-verbose\n (coq.say=
\n HB: skipping section open=
ing)\n , A8 =3D A6) \n =
(,\n =
(, (new_int A21) \n =
(std.any->string A21 A22) \n =
(A9 is hb_instance_ ^ A22)) \n =
(log.coq.env.begin-section A9) \n =
(instance.private.postulate-arity\n =
A4 [] A6 A8 A7)), \n =
std.assert!\n (coq.safe-des=
t-app A7 \n (global A10) A11) =
\n The type of the instance is n=
ot a factory, \n factory-alias->g=
ref A10 A12, \n std.assert!\n =
(factory-nparams A12 A13) \n =
Not a factory synthesized by HB, \n =
instance.private.hack-section-disch=
arging\n A8 A14, \n =
instance.private.optimize-body\n =
A14 A15, \n =
if (A0 =3D _) \n (, (n=
ew_int A23) \n (std.any->strin=
g A23 A24) \n (A16 is\n =
HB_unnamed_factory_ ^ A24)) \n =
(A16 =3D A0), \n =
log.coq.env.add-const-noimplicits-failondup\n =
A16 A15 A7 ff A17, \n =
A18 =3D global (const A17), \n =
std.drop A13 A11 [A19 | _], \n =
instance.private.check-non-forgetful-inheritance\n =
A19 A12, \n =
instance.private.declare-instance\n =
A12 A19 A18 A20 A3, \n =
if (A4 =3D arity _) true \n =
(if-verbose\n (head=
er A25 ,\n coq.say A25 \n =
closing instance section) ,\n=
log.coq.env.end-section-name =
A9), \n acc-clauses current A20])=
.",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.=
elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/instance.elpi",
"line": 25,
"column": 0,
"character": 1064
@@ -283860,8 +274781,7 @@
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/lo=
g.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/log.elpi",
"line": 289,
"column": 0,
"character": 11419
@@ -283886,13 +274806,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\=
n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n =
(pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n =
(parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-=
\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^ c0)) \n =
(supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (sup=
ported-attribute (att c8 string) :- !)) =3D>\n parse-a=
ttributes.aux c1 c6) \n (std.append c5 [get-option c7 c=
6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [att verbose =
bool, att mathcomp bool, att mathcomp.axiom string, \n att short.type s=
tring, att short.pack string, att infer attmap, \n att key string, att =
arg_sort bool, att log bool, att log.raw bool, \n att compress_coercion=
s bool, att export bool, att skip string, \n att local bool, att fail b=
ool, att doc string, \n att primitive_class bool, att primitive bool, \=
n att non_forgetful_inheritance bool, att hnf bool] A2), (!), \n (A2 =
=3D> (save-docstring , A0)).",
+ "rule_text": "(with-attributes A0) :- (attributes A1), \n =
(pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi=
(c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi=
(c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c=
2] c3 c4 :-\n , (if (c3 =3D ) (c7 =3D c0) (c7 is c3 ^ . ^=
c0)) \n (supported-attribute (att c7 attmap)) (!) \n =
(parse-attributes.aux c2 c3 c5) \n (pi =
(c8 \\ (supported-attribute (att c8 string) :- !)) =3D>\n =
parse-attributes.aux c1 c6) \n (std.append c5 [get-=
option c7 c6] c4))))))))))))))))) =3D>\n coq.parse-attributes A1 \n [a=
tt verbose bool, att mathcomp bool, att mathcomp.axiom string, \n att s=
hort.type string, att short.pack string, att infer attmap, \n att key s=
tring, att arg_sort bool, att log bool, att log.raw bool, \n att compre=
ss_coercions bool, att export bool, att skip string, \n att local bool,=
att fail bool, att doc string, \n att primitive_class bool, att primit=
ive bool, \n att non_forgetful_inheritance bool, att hnf bool] A2), (!)=
, \n (A2 =3D> (save-docstring , A0)).",
"rule_loc": [
"File",
{
- "filename":
- "/home/gares/MATHCOMP/hierarchy-builder/HB/common/ut=
ils.elpi",
+ "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB=
/common/utils.elpi",
"line": 14,
"column": 0,
"character": 453
@@ -283907,8 +274825,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-at=
tributes (with-logging (instance.declare-const A0 A1 A2 _))).",
+ "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), =
\n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).",
"rule_loc": [
"File",
{
@@ -283947,8 +274864,7 @@
"goal_id": 1757
},
"cut_branch": {
- "rule_text":
- "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.su=
bst-prod A0 (A2 A1) A3).",
+ "rule_text": "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!),=
\n (coq.subst-prod A0 (A2 A1) A3).",
"rule_loc": [
"File",
{
@@ -283966,8 +274882,7 @@
"goal_id": 1757
},
"cut_branch": {
- "rule_text":
- "(coq.subst-prod [_ | _] A0 _) :- (!), \n (std.fatal-error=
-w-data subst-prod: not a product A0).",
+ "rule_text": "(coq.subst-prod [_ | _] A0 _) :- (!), \n (std.=
fatal-error-w-data subst-prod: not a product A0).",
"rule_loc": [
"File",
{
@@ -283991,8 +274906,7 @@
"Inference",
{
"current_goal_id": 1760,
- "current_goal_text":
- "coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const =
=C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n app\n [global (i=
ndt =C2=ABHasB.axioms_=C2=BB), \n app\n [global\n (const =
=C2=ABBuilders_18.Builders_18_T__canonical__interleave_context_A=C2=BB), \n=
c0, c1], c0]) X233^1",
+ "current_goal_text": "coq.subst-prod [] \n (prod `fresh_name_19` (=
app [global (const =C2=ABIsSelfA'.phant_axioms=C2=BB), c0]) \n c1 \\\n =
app\n [global (indt =C2=ABHasB.axioms_=C2=BB), \n app\n [global=
\n (const =C2=ABBuilders_18.Builders_18_T__canonical__interleave_con=
text_A=C2=BB), \n c0, c1], c0]) X233^1",
"current_goal_predicate": "coq.subst-prod",
"failed_attempts": [],
"successful_attempts": [
@@ -284053,8 +274967,7 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n =
(coq.subst-prod A1 (A2 A0) A3).",
+ "rule_text": "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) =
:- (!), \n (coq.subst-prod A1 (A2 A0) A3).",
"rule_loc": [
"File",
{
@@ -284116,13 +275029,11 @@
"rule": [
"UserRule",
{
- "rule_text":
- "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :-=
(std.do!\n [std.a=
ssert-ok!\n (coq=
.typecheck\n A=
2 A5) \n Builder=
illtyped, \n (co=
q.subst-prod\n =
A0 A5 A7 ,\n co=
q.subst-prod\n =
[A1] A7 A6), \n =
std.assert!\n (e=
xtract-conclusion-params\n =
A1 A6 A4) \n =
The conclusion of a builder is a mixin whose parameters depend on=
other mixins]).",
+ "rule_text": "