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",
{
-